找回密码
 立即注册

QQ登录

只需一步,快速开始

[工具插件] 微信小程序wxapkg解包及相关文件(.wxss,.json,.wxs,.wxml)还原工具

[复制链接]
查看: 398|回复: 41
最佳答案
0 

4

主题

4

帖子

100

积分

新人求带

积分
100
 楼主| 发表于 2018-11-2 16:51:12 | 显示全部楼层 |阅读模式
当前功能如下(分包功能尚未完成!)

  • node wuConfig.js <files...> 将 app-config.json 中的内容拆分到各个文件对应的 .json 和 app.json , 并通过搜索 app-config.json 所在文件夹下的所有文件尝试将 iconData 还原为 iconPath 。
  • node wuJs.js <files...> 将 app-service.js (或小游戏中的 game.js ) 拆分成一系列原先独立的 javascript 文件,并使用 Uglify-ES 美化,从而尽可能还原编译前的情况。
  • node wuWxml.js [-m] <files...> 将编译/混合到 page-frame.html ( 或 app-wxss.js ) 中的 wxml 和 wxs 文件还原为独立的、未编译的文件。如果加上-m指令,就会阻止block块自动省略,可能帮助解决一些相关过程的 bug 。
  • node wuWxss.js <dirs...> 通过获取文件夹下的 page-frame.html ( 或 app-wxss.js ) 和其他 html 文件的内容,还原出编译前 wxss 文件的内容。
  • node wuWxapkg.js [-o] [-d] [-s=<Main Dir>] <files...> 将 wxapkg 文件解包,并将包中上述命令中所提的被编译/混合的文件自动地恢复原状。如果加上-o指令,表示仅解包,不做后续操作。如果加上-d指令,就会保留编译/混合后所生成的新文件,否则会自动删去这些文件。同时,前面命令中的指令也可直接加在这一命令上。而如果需要解压分包,请先解压主包,然后执行node wuWxapkg.js [-d] -s=<Main Dir> <subPackages...>,其中Main Dir为主包解压地址。除-d与-s外,这些指令两两共存的后果是未定义的(当然,是不会有危险的)。


wxapkg 包的获取

Android 手机最近使用过的微信小程序所对应的 wxapkg 包文件都存储在特定文件夹下,可通过以下命令查看:
  1. adb pull /data/data/com.tencent.mm/MicroMsg/{User}/appbrand/pkg
复制代码

其中{User} 为当前用户的用户名,类似于 2bc**************b65。

另注

所有命令上都可以使用-f指令来提高一定的并行度,但输出信息会混乱。

如果发现包内文件“缺失”,请先检查解包时是否出现提示NOTICE: SubPackages exist in this package.。如存在,请在寻找好分包后,按上文提示操作。(小程序需要访问特定页面;小游戏需要触发特定函数,然后分包才会被下载。)

局限(包括但可能不限于以下内容)
  • 实现中很多功能基于特定的版本(wcc-v0.6vv_20180111_fbi, 且不考虑面向低版本适配)和字符串搜索,所以不能很好的适应各种特殊情况。
  • wxml 文件拥有不同于 xml 和 html 文件的字符转义规则,且尚未公开(并非"没有"),因此未能很好的还原相关内容。
  • js 文件被压缩后会丢失原始变量名等信息内容无法还原;wxss 文件压缩后的注释也会丢失。
  • wxs 文件会将所有的变量如 Math 改为 nv_Math ,这里仅通过字符串替换去除。
  • 一些被引用 wxss 文件本身的源文件丢失,因此无法恢复原始目录。
  • 有些项目开启了难以复原的es6转es5选项,检验本项目结果是否正确时需要关闭项目中的es6转es5选项。
  • wxml 中一些无法找到相对应 的正向语句的内容无法还原。
  • json 中components项丢失,仅会标注被其他包引用的自定义组件。


依赖

这些 node.js 程序除了自带的 API 外还依赖于以下包: cssbeautify、CSSTree、VM2、Esprima、UglifyES、js-beautify

您需要安装这些包才能正确执行这些程序,为了做到这一点,您可以执行npm install;另外如需全局安装这些包可执行以下命令:
  1. npm install esprima -g
  2. npm install css-tree -g
  3. npm install cssbeautify -g
  4. npm install vm2 -g
  5. npm install uglify-es -g
  6. npm install js-beautify -g
  7. npm install escodegen -g
复制代码

此外,这些 node.js 程序之间也有一定的依赖关系,比如他们都依赖于 wuLib.js 。
wxappUnpacker-master.zip (38.23 KB, 下载次数: 10)
回复

使用道具 举报

最佳答案
0 

0

主题

64

帖子

90

积分

等待验证会员

积分
90
发表于 2018-11-2 23:51:39 | 显示全部楼层
????????????????????????????
回复

使用道具 举报

最佳答案
0 

0

主题

64

帖子

90

积分

等待验证会员

积分
90
发表于 2018-11-2 23:51:56 | 显示全部楼层
????????????????????????
回复

使用道具 举报

最佳答案
0 

0

主题

64

帖子

90

积分

等待验证会员

积分
90
发表于 2018-11-2 23:52:04 | 显示全部楼层
???????????????????????????????????????、
回复

使用道具 举报

最佳答案
0 

0

主题

64

帖子

90

积分

等待验证会员

积分
90
发表于 2018-11-2 23:52:09 | 显示全部楼层
????????????????????????????????、
回复

使用道具 举报

最佳答案
0 

0

主题

64

帖子

90

积分

等待验证会员

积分
90
发表于 2018-11-2 23:52:13 | 显示全部楼层
??????????????????????????????????????
回复

使用道具 举报

最佳答案
0 

0

主题

64

帖子

90

积分

等待验证会员

积分
90
发表于 2018-11-2 23:52:17 | 显示全部楼层
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
回复

使用道具 举报

最佳答案
0 

0

主题

64

帖子

90

积分

等待验证会员

积分
90
发表于 2018-11-2 23:52:22 | 显示全部楼层
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
回复

使用道具 举报

最佳答案
0 

0

主题

64

帖子

90

积分

等待验证会员

积分
90
发表于 2018-11-2 23:52:27 | 显示全部楼层
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
回复

使用道具 举报

最佳答案
0 

0

主题

64

帖子

90

积分

等待验证会员

积分
90
发表于 2018-11-2 23:52:31 | 显示全部楼层
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



www.henkuai.com—微信开发者的分享交流平台,专注微信开发生态。

天津市滨海新区
中新生态城中成大道生态建设公寓9号楼3层301

微信公众号

广告推广
QQ:805874290

市场合作
zhongcong@henkuai.com