反编译⼩程序⽅法⼀(完整版)
⼀、前⾔
反编译,听起来很屌,其实还是简单的,基本是傻⽠式操作。要想拿到⼩程序源码,到源⽂件在⼿机存放的位置就⾏,源⽂件拿到,⽤反编译脚本跑⼀下,⼩程序代码包⾥的所有⽂件、所有资源就出来了(除了fig.json⼩程序配置⽂件)。拿到源码后,跑起来是能跑,但登录、授权等涉及到appid的功能是不能⽤的,因为被反编译⼩程序的服务端appid和你本地添加的不⼀样,这就是为啥拉下来的源码没有fig.json⽂件的原因,项⽬中appid是配置在这个⽂件⾥,这⾥⼀定程度上保护原⼩程序。
⼆、所需⼯具
1.夜神模拟器,地址:
⽤来寻⼩程序源⽂件,真机当然也可以,但⿇烦,⼜是root权限,⼜是越狱的,夜神模拟器⽅便,直接在设置⾥就可以设置超级⽤户权限,超级权限拿到,就可以为所欲为了,通过下⾯这个RE⽂件管理器看到⼩程序源⽂件。
2.RE⽂件管理器(拖到模拟器内⾃动安装),地址:
⽤来寻⼩程序源⽂件,官⽅没改动的话,应该会在这么个路径
下,/data/t.mm/MicroMsg/.../appbrand/pkg/,路径中有⼀段...,这⾥表⽰不确定具体⼀个,反正就在这个MicroMsg下的其中⼀个⽂件夹,紧接着会看到appbrand⽂件夹,如果这样那就到位置了。
反编译脚本所需运⾏环境
4.反编译脚本,地址:
⽤来反编译⼩程序源⽂件,把源代码给编译出来,这是GitHub上⼀位⼤神的杰作,到了这个⽐较好⽤的,其他版本⾃寻。
三、开始搞事情
1.安装好夜神模拟器后,并将在电脑下载好的RE⽂件管理器拖到模拟器内安装。
2.打开⼿机设置->到超级⽤户->右上⾓三个⼩点点击⼀下,设置->点击‘超级⽤户访问权限’,选择‘仅限于应⽤’,这样超级⽤户权限就拿到了。
3.打开,没有的在应⽤市场下载就⾏,打开想反编译的⼩程序,⼩程序打开后,可以切换到RE⽂件管理器去源⽂件了。
这⾥有⼀个机制,当点开⼀个⼩程序,如果本地这个⽂件夹下未到即将运⾏的⼩程序,会从服务器下载到本地,在以后的某
个时刻⼜运⾏这个⼩程序,运⾏时,服务器会通知有没有⼩程序新版本,如有新版本,会在后台静默下载,⼩程序继续运⾏,新版本要到下⼀次运⾏才会启⽤,这就是⼩程序的更新机制。
4.打开RE⽂件管理器,从根⽬录开始,/data/t.mm/MicroMsg/.../appbrand/pkg/,到源⽂件后,长按->点击右上⾓三个⼩点,打开菜单,选择‘压缩所选⽂件’->完成后,点击查看->长按,还是右上⾓,将压缩包从模拟器发送出来到电脑上,⽅式多种,随意。
4.上⾯到源⽂件并把源⽂件拉出来,从GitHub下载反编译⽂件后,在桌⾯就有了这样的⽂件夹结构
mini-yuan这个⽂件夹下这⾥放的是⼩程序源⽂件
lib这个⽂件夹下放的是反编译脚本
小程序源码交易市场5.进⼊到⽬录:...\lib\wxappUnpacker-master⽂件夹下,右键,在这⾥打开命令⾏窗⼝,将这⼏句命令跑⼀下
npm install esprima
npm install css-tree
npm install cssbeautify
npm install vm2
npm install uglify-es
npm install js-beautify
npm install escodegen
最后使⽤这个命令进⾏反编译源⽂件:node wuWxapkg.js filepath,例如我的是:node
wuWxapkg.js C:\Users\zw\Desktop\fanbianyi\mini-yuan\_1034625975_4.wxapkg,反编译过程过如遇到抛出缺少某个⽂件的提⽰,⽤npm install filename再次跑⼀下就⾏(filename为抛出缺少⽂件名)。
6.反编译完成,⽤node wuWxapkg.js filepath执⾏成功后
查看反编译成功后的⽂件夹,源码中除了fig.json这个配置⽂件,其他的都有。
四、结语
⾄此⼩程序的反编译过程就结束了,学会之后,欣喜若狂,⼀顿操作猛如虎,拉了两个⼩程序源码后,⼼⽣⼀种罪恶感。这种反编译⽅法很简单,由此可见⼩程序源码的安全性不好,过不久估计就不能这么⼲了,漏洞终究会被填补的。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。