「小程序」反编译初体验

写在前面

首先要感谢 原博主提供的资料,原文传送门

准备材料

  • Node.js环境
  • 反编译脚本
  • 安卓模拟器(夜神)
  • RE管理器,用于读取root权限下的文件目录,找出微信的.wxapkg文件

使用安卓模拟器获取到.wxapkg文件

  1. 夜神模拟器安装微信,设置中打开ROOT权限
  2. 登录微信,打开运行一次目标小程序
  3. 回到夜神模拟器桌面,将RE管理器拖进去安装
  4. RE管理器将模式改变,只读→读写


  5. 进入目录
/data/data/com.tencent.mm/MicroMsg/{一串16进制字符}/appbrand/pkg/
  1. 这里有两个.wxapkg文件,不确定哪个是依赖哪个是源码,所以一起打压缩包传到电脑上。按住文件多选后压缩。生成的压缩包应该在其他文件夹中,具体目录在RE管理器设置中可以看到。


  2. 将生成的压缩包用微信收藏或发送给其他人,传到电脑上即可。


反编译

  1. 从Git上将脚本下载,通过网页直接下载,如果本地有git环境的可以直接使用命令行下载
$ git clone https://github.com/qwerty472123/wxappUnpacker.git
  1. 下载完成后进入脚本目录下安装依赖


  2. 最后一步是反编译.wxapkg文件 $ node wuWxapkg.js [-d] <files…>,如下
$ node .\wuWxapkg.js D:\_163200311_32.wxapkg

微信小程序的包和依赖包的后缀都是.wxapkg,真正的小程序包大小1M左右,而依赖包大小2、3M甚至更多。反编译.wxapkg依赖包会报错: Error: This Package is unrecognizable, please decrypted every type of file by hand.反编译错误的包返回结果



正确源码包的返回结果



反编译完成后,目标文件夹就是小程序源码了,打开小程序开发者可以运行。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,511评论 25 709
  • 用两张图告诉你,为什么你的 App 会卡顿? - Android - 掘金 Cover 有什么料? 从这篇文章中你...
    hw1212阅读 14,476评论 2 59
  • 你的一份简历,在他们的手中不会超过8秒。8秒的时间,他们会判断你是否有机会进入这家公司。他们平均每年会招聘100-...
    职场妈妈关系教练_文静阅读 3,959评论 0 2
  • 如若,一切的凉薄与温暖,都随了季节的必然更迭;所有的得失与因果,都交予时间来定夺,那么自己将以怎样的步伐,去追逐冗...
    酒分阅读 2,600评论 2 4
  • 缘起 15年时,央视播了一部《河西走廊》记录片,以编年体史诗的形式演绎河西从汉代至今的变化。每一集如同一个朝代在河...
    墨小隐阅读 3,523评论 4 5