小程序包提取
1.PC端
2.安卓端
存储在这三个子目录中,可能有主包和子包
基本使用
安装node依赖
npm install esprima -g
npm install css-tree -g
npm install cssbeautify -g
npm install vm2 -g
npm install uglify-es -g
npm install js-beautify -g
npm install escodegen -g
当检测到 wxapkg 为子包时, 添加-s 参数指定主包源码路径即可自动将子包的 wxss,wxml,js 解析到主包的对应位置下. 完整流程大致如下:
1.获取主包和若干子包
2.解包主包 node wuWxapkg.js testpkg/master-shop.wxapkg
3.若无子包则不需要: 解包子包 node wuWxapkg.js testpkg/sub-1-shop.wxapkg -s=../master-shop
-s 参数可为相对路径或绝对路径, 推荐使用绝对路径, 因为相对路径的起点不是当前目录 而是子包解包后的目录
├── testpkg
│ ├── sub-1-shop.wxapkg #被解析子包
│ └── sub-1-shop #相对路径的起点
│ ├── app-service.js
│ ├── master-shop.wxapkg
│ └── master-shop # ../master-shop 就是这个目录
│ ├── app.json
无视这个报错,把所有子包得到的文件全部复制到主包的项目目录下,即可得到一套完整的反编译代码。
反编译问题汇总
问题一:Cannot find module 'uglify-es'
解决方案:
提前安装所需的node依赖:
npm install esprima --save
npm install css-tree --save
npm install cssbeautify --save
npm install vm2 --save
npm install uglify-es --save
npm install js-beautify --save
npm install escodegen --save
问题二:Error: Magic number is not correct!
解决方案:
我是从电脑端微信客户端获取的wxapkg文件
用网上的所有脚本都报magic number is not correct
最后试了试原始的方法 用模拟器去获取wxapkg,就成了
问题三:SyntaxError:Unexpected end of input
解决方案:
问题四:反编译子包遇到Error: ENOTDIR: not a directory, scandir
解决方案:
使用-s命令反编译子包时,可能也会报错:Error: ENOTDIR: not a directory, scandir
。遇到这个报错可以不用管,运行完可以看下解出来的文件,实际上需要用到的东西已经解出来了。
最后把所有子包得到的文件全部复制到主包的项目目录下,即可得到一套完整的反编译代码。
引用
1.反编译报错:Unexpected end of input:https://github.com/xdmjun/wxappUnpacker/issues/30
2.浅谈小程序逆向:https://blog.csdn.net/weixin_42545308/article/details/126890607
使用-s命令反编译子包时,可能也会报错:Error: ENOTDIR: not a directory, scandir。遇到这个报错可以不用管,运行完可以看下解出来的文件,实际上需要用到的东西已经解出来了。
3.wxappUnpacker1 GITHUB Repository:https://github.com/jas502n/wxappUnpacker1
4.获取微信小程序源码的三种方法:https://www.cnblogs.com/micr067/p/15524643.html
5.小程序反编译的几点心得:https://blog.csdn.net/qq_41297837/article/details/103962564
magic number is not correct
评论 (0)