明天的明天 永远的永远 未知的一切 我与你一起承担 ??

是非成败转头空 青山依旧在 几度夕阳红 。。。
随笔 - 1274, 文章 - 0, 评论 - 214, 阅读 - 320万
  博客园  :: 首页  :: 管理
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

反编译获取任何微信小程序源码

Posted on   且行且思  阅读(410)  评论(0编辑  收藏  举报

一 准备工具

1 node.js 运行环境
下载地址:https://nodejs.org/en/

2 反编译的脚本
链接:https://pan.baidu.com/s/1InxRoozDDb-C-g2rKGi1Cw
提取码:i50k

https://files.cnblogs.com/files/Fooo/wxappUnpacker-lt.rar

3 夜神模拟器
下载地址:https://www.yeshen.com/cn/download/fullPackage

二 开始反编译

1 获取小程序pkg包:
在模拟器中登录微信,随便打开一个小程序A

打开文件管理器,在左侧导航菜单》根目录列表,找到/data/data/com.tencent.mm/MicroMsg 目录 ,然后找到一个很长的

用户随机码,继续找到/appbrand/pkg/xxx,接下来会出现小程序A的wxapkg包

 

(右键选择复制)

 

 

找到安卓共享路径

 

 

粘贴按钮一直在上面,把小程序pkg包复制到安卓共享路径,这样就可以在电脑访问小程序pkg包

 

 这样几步简单操作,就成功拿到了小程序的源文件了。

 

 

  • 二、使用反编译脚本解包 wxapkg

  • 到这里你应该已经将反编译脚本从github下载 或者 clone 到本地某个目录

  • 打开nodejs命令窗口,如果有vscode的直接使用vscode更方便,没有安装的,打开如下这个命令行窗口:

 

用cd命令进入到你clone或者下载好的反编译脚本目录

 

图中的是我的命令行目录,注意:这个路径最好不要有中文,大家都知道,中文路径,经常引起一些奇奇怪怪的bug,如果路径有中文,自行解决

 

 

把那几个反编译要用到的脚本放在上图中的目录下(这个目录根据自己的实际目录而定,图中是我的用的 wxappUnpacker-lt.rar)

 

解压wxappUnpacker ,进入此文件夹下,按住Shinft键点鼠标右键,在弹出来的窗口里选择打开命令行窗口
依次运行以下7个命令:
npm install

npm install esprima

npm install css-tree

npm install cssbeautify

npm install vm2

npm install uglify-es

npm install js-beautify

 

如下图这样操作

 

7个命令完成后,把我们拿到的小程序包(有分包的把分包一起复制过来)复制到wxappUnpacker-master文件夹下

 

最关键一步:

主包解包 》》输入:node wuWxapkg.js _1514036652_28.wxapkg 解包,其中_1514036652_28.wxapkg是包名.
如提示:检测到此包是分包后的子包, 请通过 -s 参数指定存放路径后重试,就看其他包里文件大小最大的拿来先解,文件大的一般是主包

 

 

 

下面进入解分包
命令:node wuWxapkg.js _19871000_28.wxapkg -s=../_1514036652_28

 

就这样把所有的分包一个一个的解包,解分包无先后顺序之分,全部解包完成后,把分包里的内容按照目录文件结构手动复制到主包里覆盖,解包就完成了.

 

 

 

反编译脚本就能一步将.wxapkg 文件还原为微信开发者工具能够运行的源文件,目录地址和你反编译的文件地址是一样的

看到这些文件结构,是不是非常熟悉!我们在微信开发者工具新增项目即可打开

 

 

------------------------------------------------------

如果运行出现了点问题:

    1、可以试试,点击开发者工具详情去掉 es6转es5的勾,勾上不校验安全域名
    2、 勾选了还是无法运行?那么请在详情里把基础版本库调低至1.5左右,再试试
    3、出现找不到某些文件的情况怎么办?我只能告诉:删!删!删! app.json
    里面,提示找不到那个文件,就将pages下注册的该页面语句暂时删除掉。删
    到可以运行为止

相关博文:
阅读排行:
· 全网最简单!3分钟用满血DeepSeek R1开发一款AI智能客服,零代码轻松接入微信、公众号、小程
· .NET 10 首个预览版发布,跨平台开发与性能全面提升
· 《HelloGitHub》第 107 期
· 全程使用 AI 从 0 到 1 写了个小工具
· 从文本到图像:SSE 如何助力 AI 内容实时呈现?(Typescript篇)
历史上的今天:
2015-08-29 Quartz 线程处理
2015-08-29 IIS7 应用程序池自动回收关闭的解决方案
点击右上角即可分享
微信分享提示