悄悄告诉你:如何获取线上小程序的源代码?2022年亲测成功

2,729 阅读2分钟

准备工作:

获取代码包(因为个人用的苹果系统,手机和电脑都没办法拿到小程序包 下面重点讲一下Mac环境

环境

1、Mac环境

  • 下载夜神模拟器(为了模拟安卓系统,拿到小程序代码包文件)
  • 在夜神模拟器里下载微信、QQ、re(文件)管理器(现在这个软件可能搜不到了,可通过以下链接将apk导入夜神进行下载 提取码:1234

2、Android环境

Android系统的手机或者模拟器,如果没有Android手机可以下载任意模拟器,如腾讯手游助手(腾讯手游助手官网_腾讯安卓模拟器_安卓模拟器电脑版下载 (qq.com))

安装PC微信

在模拟器中搜索微信,这是必要条件,因为我们要获取的就是微信小程序的代码包

image.png

操作流程

主要讲一下Mac上,模拟器的一系列流程,其他也可以参照

第一步目标:拿取代码包

  • 打开PC微信,进入想要下载的小程序。
  • 在夜神模拟器打开文件管理器,

image.png

  • 进入目录路径/data/data/com.tencent.mm/MicroMsg/{{一串32位的16进制字符串文件夹}}/appbrand/pkg/ 下抵达了目的文件夹

截屏2022-11-28 20.22.35.png

  • 找到后缀名为wxapkg的包,将其长按添加压缩包(aa是我已经添加好的压缩包),发送至微信或者我的电脑
  • 在微信中保存文件到电脑中,解压wxapkg的包 截屏2022-11-28 20.24.44.png

第二步:解析代码包

  • 准备工作:
  • node.js 运行环境
  • 反编译的脚本wxappUnpacker --gitee.com上搜到,小程序分包也支持解析
  • 拉取wxappUnpacker代码,并且运行 npm i 安装依赖包
  • 控制台执行:node wuWxapkg.js [wxapkg_filepath]

image.png

运行完成后即可看到wxapkg包旁边多了一个文件夹,这一步我们解析完成。

注意:执行脚本中可能会出现以下报错,如遇到可以尝下下面解决办法

SyntaxError: Unexpected end of input
    at new Script (node:vm:99:7)

需要调整一下wxappUnpacker下

  1. 修改wuWxss.js文件31

image.png 增加

//条件
 if (!importCnt[id]&& pureData)

2 修改wuWxss.js文件243

image.png

完成之后,脚本不会报错 wxapkg包的旁边多了一个文件

WeChatc12f7c9a01e4c22152421d44f857fcae.png

这个时候就可以看到解析之后文件目录

image.png

第三步:打开及运行代码包

讲解析好的包导入到微信开发者工具中

image.png

导入之后就可以看到拉取的小程序运行效果! --此处不补图~~~

总结

如何进行反编译就是:
获取小程序原始代码包->解密小程序代码包->安装nodejs环境以及所需模块->下载逆向小程序工具包->反编译->工具调试 这里只做技术分享,千万不要没事扒别人的小程序自己上线哦!