反编译获取小程序源码

作者: U破壳而出 | 来源:发表于2019-08-22 23:18 被阅读5次

很多小伙伴都很苦恼,看到别人做的小程序那么好看,体验效果那么好,很想知道别人到底是怎么做的呢?

今天我也研究并且用这个方法成功地获取到了别人的小程序源码,现在复盘把步骤告诉给大家。虽然这种行为不是很好,但是我们可以互相学习、借鉴一下!

1)准备材料:

  • node.js运行环境(下载node.js)
  • 反编译脚本。(下载地址:反编译脚本
  • 安卓模拟器(用来获取小程序源文件)
  • RE管理器(拖到模拟器中)

2)聊聊xxxxx.wxapkg:

  • 小程序的源文件在哪?在微信的服务器上。
  • 但是微信服务器上,普通用户想要获取到,肯定是十分困难的,有没有其他方法呢?
  • 简单思考一下我们使用小程序的场景就会明白,当我们点开一个微信小程序的时候,其实是微信已经将它从服务器上下载到了手机,然后再来运行的。所以,虽然我们没能力从服务器上获取到,但是可以从手机本地找到到已经下载过的小程序源文件。
  • 那么如何才能在手机里找到小程序的源文件包呢?

     具体目录位置为:/data/data/com.tencent.mm/MicroMsg//appbrand/pkg/,在这个目录下,会发现一些xxxx.wxapkg类型的文件,这些就是小程序的包。

  • 微信小程序的格式就是:.wxapkg

    .wxapkg是一个二进制文件,有其自己的一套结构。

    但是这里有一个坑,想要进入到上面这个目录的话,用手机自带的文件管理器肯定是不行的,安卓或者iPhone都要要用到第三方的文件管理器,比如:RE文件管理器,并且安卓需要取得root权限,而苹果手机肯定是要越狱的,且iphone的越狱难度>>安卓获取root,不管越狱还是root,这都太费劲,当然有能力的同学可以直接从手机上来操作,但是这里不推荐从真机上获取。

3)操作步骤:

  • 使用模拟器找到小程序.wxapkg文件

    不用越狱,不用root,使用电脑端的安卓模拟器来获取是一个非常简单快捷且万能的获取方式,具体步骤如下:

  • 打开安装好的安卓模拟器,并在模拟器中安装QQ、微信、RE管理器,QQ、微信在模拟器自带的应用商店里搜索下载安装即可,RE管理器的下载地址自行百度,下载好后直接拖拽进打开的模拟器窗口就会自动安装
  • 设置一下模拟器:首先到模拟器内部设置超级用户权限,这是为了能让RE管理器顺利的获取到ROOT权限
  • 下载源文件到本地:在模拟器里打开微信,然后在微信中运行你想要获取的小程序(这其实是让微信把小程序的源文件包从服务器下载到了本地了)
  • 找到源文件:小程序运行一下后,直接切回模拟器桌面运行RE浏览器,来到目录/data/data/com.tencent.mm/MicroMsg//appbrand/pkg/,就会看到里面的一些.wxapkg后缀的文件,这就是小程序源文件啦。
  • 发送到我的电脑上:然后可以根据使用的时间来判断哪个是你刚才从服务器下载过来的,一般小程序的文件不会太大,可以结合时间来判断,长按压缩所选文件,然后再将压缩好的包通过QQ发送到我的电脑(不压缩的话,是无法将这个文件通过QQ来发送的,所以QQ的这个功能可以让我们很方便的拿到源文件,而不必到电脑目录去找模拟器的文件目录)
  • 拿到源文件:解压,拿到源文件。

  • 用nodejs 反编译脚本将.wxapkg文件反编译

  • 将反编译脚本从github下载 或者 clone 到本地某个目录
  • 打开nodejs命令窗口,按住shift+右击
  • cd 到你clone或者下载好的反编译脚本目录下
  • 然后在该目录下依次安装如下依赖
  • 最后就是:反编译 .wxapkg 文件

    在当前目录输入E:\_163200311_32.wxapkg(这个是你想要反编译的文件名)

反编译脚本能把.wxapkg文件还原为微信开发者工具能够运行的源文件,目录地址和你反编译的文件地址是一样的,然后在微信开发者工具新增项目即可打开。

最后,再分享一点,如果大家打开模拟器很卡的话,可以看一下这个文档(教你如何流畅使用夜神模拟器),

参考里面来操作重启电脑后,把模拟器的系统设置调到最高,这样就很流畅啦!


今天的分享就到这里,有不明白的,欢迎留言,我们互相探讨一下!

码字不易,如果觉得不错,可以点赞关注收藏,我是 @小小燕雯 ,一个爱码字、码代码的程序猿!

相关文章

网友评论

    本文标题:反编译获取小程序源码

    本文链接:https://www.haomeiwen.com/subject/zjhasctx.html