浅谈小程序逆向

这里我从pc端入手,从wx设置里面可以找到文件存储路径,小程序的路径为:文件管理路径\WeChat Files\Applet。进入目录后如果发现有很多,不知道哪个是目标文件,可以全删了,重新打开小程序。小程序的包可能有一个,也可能分包有多个。
在这里插入图片描述
从pc端得到的wxapkg文件不能直接反编译,需要先进行解密。解密后得到新的wxapkg,才能进行反编译。
解密工具:
链接:https://pan.baidu.com/s/1qlSDpYmkQK8_2c5y1AETuA
提取码:qam3
图片

反编译工具:https://gitee.com/ksd/wxappUnpacker

需要注意的是这里的反编译工具运行需要node环境。下载好反编译工具还需配置环境,在wxappUnpacker的目录下打开cmd,安装一些依赖(一定要cd到wxappUnpacker目录下进行安装,不然安装了也没用)。

npm install uglify-es

npm install esprima

npm install css-tree

npm install cssbeautify

npm install vm2

npm install js-beautify

安装好后可以开始进行反编译,如果小程序只有一个包,直接运行命令:node wuWxapkg.js ***.wxapkg即可。如果小程序分包,有多个wxapkg,主包还是按照刚才的命令进行反编译,子包需要运行命令:node wuWxapkg.js ***.wxapkg -s=刚才主包反编译得到的项目路径。以上路径最好写绝对地址以免出现问题。
运行反编译命令时可能会遇到两个报错问题:

报错1:Error: Cannot find module ‘escodegen’

解决方案:npm i --save-dev escodegen

报错2:Error: Cannot find module ‘cheerio’

解决方案:

npm install uglify-es --save
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
npm install cheerio --save
以上命令均需要在wxappUnpacker目录下执行
遇到分包时,如何区分子包和主包,可直接运行主包反编译命令如果是子包会报错提示使用-s命令。
图片

使用-s命令反编译子包时,可能也会报错:Error: ENOTDIR: not a directory, scandir。遇到这个报错可以不用管,运行完可以看下解出来的文件,实际上需要用到的东西已经解出来了。
图片

最后把所有子包得到的文件全部复制到主包的项目目录下,即可得到一套完整的反编译代码。
在这里插入图片描述

用微信开发者工具打开,就可以开始调试啦。这里还有一点需要注意的是,如果打开的是小游戏,是没有app.json的,微信开发者工具中的appid需要写小游戏类型的appid。如果是小程序的appid会无法编译,提示找不到app.json,而小游戏走的是game.json。

当然,操作到这一步直接开始编译肯定还是会有问题的,关于代码报错的修复以及羊了个羊的详细的逆向分析,后续的文章会中再进行详细介绍。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值