小程序反编译实战
2023-5-30 19:2:26 Author: 猪猪谈安全(查看原文) 阅读量:57 收藏

在平常小程序测试当中,我们可以把小程序进行反编译查看小程序内部API接口进行一个详细的测试

安装nodejs

安装WxAppUnpacker,然后执行npm install安装依赖

链接:https://pan.baidu.com/s/1Vos95RvtcOauqQB12yS8nA?pwd=1ea6 
提取码:1ea6 

提取小程序数据包可以使用手机或借助模拟器进行提取,这里演示模拟器的提取方式,真实手机提取方式类似

首先进行一个小程序,让微信把小程序的包加载过来(尽可能在小程序里面把所有功能点击全,这样会把所有分包尽可能的加载到)

加载完成后在如下目录会存在两个md5形式的文件夹

data-->data-->com.tencent.mm-->MicroMsg

其中一个是微信运行固定的md5文件夹,其不用理会

另外一个就是小程序运行加载过来的包,然后进行如下目录

appbrand-->pkg

其中里较大的一个数据包是微信小程序内置的sdk,这个包也不用理会,我们只需要把其他三个包复制出来,把这三个文件复制到模拟器的共享文件夹下

然后在电脑上复制到WxAppUnpacker目录下

一般最大的一个包为主包

利用手机或模拟器需要把小程序数据包进行来回移动,比较繁琐,我们还可以直接借助PC端微信加载小程序然后把小程序数据包给提取出来。

首先在PC端登陆微信,在PC端加载小程序

然后在微信文件目录下

D:\data\WeChat Files\WeChat Files\Applet

去找到加载到的小程序

点击进行,可以很清楚的看见谁是主包

由于PC加载的小程序包有加密,所以我们需要借助如下一款工具进行对数据包进行解密。

链接:https://pan.baidu.com/s/1Vos95RvtcOauqQB12yS8nA?pwd=1ea6 
提取码:1ea6 

直接选择要解密的包就ok

然后把每个分包依次解密即可(记得解密分包之前把之前解密的包进行重命名一下,因为该工具所解密后的文件名一致,不重命名会把之前解密的文件覆盖掉)

反编译小程序我们需要使用到WxAppUnpacker这款工具

用如下命令

npm wuWxapkg.js 小程序主包所在位置

然后用如下命令把分别进行反编译

node wuWxapkg.js -s=主包反编译后的目录 小程序分包所在位置

依次利用如上命令把分包依次进行反编译即可

当然我们还可以利用封装WxAppUnpacker图形化工具直接拖进去反编译,免去敲命令的操作

链接:https://pan.baidu.com/s/1Vos95RvtcOauqQB12yS8nA?pwd=1ea6 
提取码:1ea6 

反编译之后,我们可以利用微信开发者工具或者一些其他的编译器软件对反编译之后所暴露出的路由接口进行测试了

 点击下方小卡片或扫描下方二维码观看更多技术文章

师傅们点赞、转发、在看就是最大的支持


文章来源: http://mp.weixin.qq.com/s?__biz=MzIyMDAwMjkzNg==&mid=2247511107&idx=1&sn=ba8c07f85778265d25d147e13fda0e6c&chksm=97d04354a0a7ca421275c2af8b4ac9c8f0ec6a93b26f364cebd368ee148e331709c2e29f77b2#rd
如有侵权请联系:admin#unsafe.sh