个人工作知识笔记
主页
Linux运维
Thinkphp相关
功能开发代码
常用工具
低频方案
常用软件
日记流水
账号体系
思考规划
添加内容
记日记
本网站
>
常用功能代码
TP安装及常用命令
TP控制器相关使用
linux常用命令
SQL常用代码
Ajax传输样例
TP6操作手册
TP3.2操作手册
coscmd配置
Ngix配置
WX错误代码
SLL配置
curl命令详解
功能
跳转至前台
数据备份
退出登录
标题
类别
Linux运维
Thinkphp相关
功能开发代码
常用工具
低频方案
是否隐藏
内容详情
<p><b>可能是带插件的小程序解包会出现各种问题,花费大约三天时间,搞明白了一些事情。首选,解包程序读取包后,有个程序会直接将其解压到各个文件夹。可能是js文件也可能是html文件。出问题的就是js的文件。如果是page-frame.html</b><b>文件,</b><b>到各个文件夹的是一个空文件起占位作用,如果核心文件是app-wxss.js则会解压对应的js文件到各个文件夹。多种类型的文件会分多个应用解压,其中最重要并且出错的就是wxss和wxml。我采用的办法是读取虚拟机时保存一份重命名,读取的时候读取这个保存的。在解码出错过程中多此次无果,我采用了一个最简单的办法,就是做了一个只有两个页面的开发包,因为页面少,解压出来的核心文件比较短,容易观察。解压css调用的是setCssToHead,把出问题复制到这里,跑一遍即可。wxml是将对应的Z函数部分复制过来,放到对应位置,此时还需要复制下面一个函数,Z实际是属于生成值,function(e,s,r,gg)函数是处理这些内容的,将这些内容有序的放入到对应的地方。就这样再跑一遍就逐个将需要的东西解压出来了。出错时可以试着将抛出异常的地方注释掉。</b></p><p><b><br></b></p><p>大部分出错是解析出了文件目录结构,但里面的文件要么是空要么是乱的,这个时候采用的方式是,用一个最简单的示例文件,因为结构简单所以不会出错,他们可以正常的解析,这个之前经过大量的时间演算,修改了部分的逻辑,在解析css和xml的时候,会生成page-frame.html或者app-wxss.js,根据不同的情况只会生成其中的一种,这两种文件包含着xml和css,因为其原本的额逻辑会生成,用完后删除,这样一来我们每启动一次,就会生成示例应用的文件覆盖并解析,这样就无法达到我们的目的,通过测试发现,生成的时候是正确文件,但是解析的时候,我们给换成同样的文件改编号2,并且把对应的位置代码,换成具体片段的代码,最后都会生成正确文件到index路径下面。此代码包我们以 node .\wuWxapkgb.js 17.wxapkg 为标准包,我们只需修改page-frame2 文件里对那个的代码即可,在做这些之前需要 node .\wuWxapkgb.js bag\xxx.wxapkg 获取目标包的解析内容,再用其中的内容换到 17包里面的page-frame2内容去。第二部:app-service.js为小程序中的全部js文件代码,我们只需搜索对应的js文件片段即可找到对应文件的js代码,然后换到17包里面的app-service2.js中去,如:目标app-service.js中搜索“pages/index/index.js”,获得“define("pages/logs/logs.js"”完整函数的 大括号里面的内容,复制,然后粘贴到 示例包17的文件下面的app-service2.js中去,无论目标文件的js名称是什么,需要解析的时候都要复制到示例app-service2.js中的“pages/index/index.js”中去</p>
立即提交