微信小程序反编译工具wxappUnpacker使用

1、下载wxappUnpacker,我这里用的是node版还有其他班自己查https://github.com/qwerty472123/wxappUnpacker2、下载node。js首先需要知道的是小程序在手机里的文件储存位置——那么这个位置具体在哪呢?————具体目录位置:/data/data/com.tencent.mm/MicroMsg/{{一串32位的16进制…

大家好,又见面了,我是你们的朋友全栈君。

1、下载wxappUnpacker,我这里用的是node版还有其他班自己查https://github.com/qwerty472123/wxappUnpacker

2、下载node。js

首先需要知道的是小程序在手机里的文件储存位置

—— 那么这个位置具体在哪呢   ?

———— 具体目录位置:/data/data/com.tencent.mm/MicroMsg/{
{一串32位的16进制字符串名文件夹}}/appbrand/pkg/  在这个目录下会有一些 xxx.wxapkg 这样后缀的文件,这些就是小程序或者小游戏的包。

 

————xxx.wxapkg 是什么呢?

——————微信小程序源码阅读笔记1这里有一篇详细介绍的文件 大家可以看一下。

 

然后获取小程序的  .wxapkg 包

—— 我获取的方法: 我是在电脑上用root过的安卓的手机模拟器 ,上安装RE文件管理器 ,然后通过管理器获取到的。

————具体实现  : 

 1 、 安装手机模拟器(这里我用的是夜神模拟器)

下载地址  :www.yeshen.com/cn/download…

2 、 在模拟器上安装 微信 , qq ,RE管理器

       RE管理器先下载到电脑上,然后再拖到模拟器里面就可以了。

RE管理器 下载地址 :pan.baidu.com/s/1PPBx08rN…

       微信 ,qq  直接在模拟上下载。

3 、 设置超级用户

       安装好RE 管理器之后需要 给RE 设置超级用户这个权限。

4 、 去缓存小游戏或小程序

       打开微信 然后找到你想要获取代码的小游戏或小程序  打开这个小游戏或小程序,程序开始运行之后源文件就已经下载到本地了。

5 、 找到源文件

       将模拟器的操作页面切换到桌面 ,运行RE管理器 ,然后在管理器里面找到之前说到的那个目录:

   /data/data/com.tencent.mm/MicroMsg/{
{一串32位的16进制字符串名文件夹}}/appbrand/pkg/

 

微信小程序反编译工具wxappUnpacker使用

       这里这些就是我们需要的源文件包,然后再通过 访问的时间 找到刚才运行的程序是哪一个就可以了。

6 、 压缩

        我们需要先把要用的文件进行压缩 zip ,如果不压缩发送文件时会提示  文件无效。

        长按这个文件,会出现一个工具栏 ,然后点击工具栏的右侧的按钮,选择压缩所选文件

微信小程序反编译工具wxappUnpacker使用

微信小程序反编译工具wxappUnpacker使用

         压缩完成之后  根据提示点击查看

微信小程序反编译工具wxappUnpacker使用

7 、 发送到电脑

       找到需要的文件后,还是长按这个文件,会出现一个工具栏 ,然后点击工具栏的右侧的按钮,选择发送,然后选择你要发送的位置(三个选择方式都行只要你能拿到这个文件就行)

微信小程序反编译工具wxappUnpacker使用

 

微信小程序反编译工具wxappUnpacker使用

       8 、 拿到文件  

微信小程序反编译工具wxappUnpacker使用

      这就是我们需要的文件  。 接下来就是对它进行反编译  ,解析出源码来了 。

最后反编译 

—— 首先反编译要用到node .js 运行环境 

———— node 下载地址 :nodejs.org/en/

—— 然后反编译用的脚本 (GitHub上qwerty472123大神写的node.js版本的)

———— 下载地址github.com/qwerty47212…

这两样都安装好了之后 ,打开编译脚本所在的文件夹 ,然后shift + 鼠标右键 在菜单中选择  “在此处打开命令窗口” 

微信小程序反编译工具wxappUnpacker使用

然后安装以下依赖包 :

npm install esprima

npm install css-tree

npm install cssbeautify

npm install vm2

npm install uglify-es

npm install js-beautify

这些都安装好之后 ,最后一步的反编译就来了  :

继续在当前的命令行输入  

node wuWxapkg.js [-d] <files…>     //files 就是你想要反编译的文件名

比如 :有一个 _-1568765780_11.wxapkg  这个文件 

微信小程序反编译工具wxappUnpacker使用

 直接复制地址栏里的地址  +  文件名

node .\wuWxapkg.js C:\Users\Administrator\Desktop\app123\_-1568765780_11.wxapkg 

回车运行

微信小程序反编译工具wxappUnpacker使用

完成之后 源文件是在的文件夹里会出现一个相同名字的文件夹 ,这个文件夹里就是你需要的小游戏或小程序的所有的源码。

微信小程序反编译工具wxappUnpacker使用

到这里所有的就都完成了 ,剩下的就全是自由发挥了。

参考:https://blog.csdn.net/as66708/article/details/80618978

作者:LeiLv
链接:https://www.jianshu.com/p/8a0280d0afd8
来源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/128877.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Java 异常错误 (Ljava/lang/String;)L java/lang/String;「建议收藏」

    Java 异常错误 (Ljava/lang/String;)L java/lang/String;「建议收藏」异常问题如下:起初xml中返回值类型是这样子,一直在找返回值类型的问题,怎么看都是没有问题的又改为如下,结果还是不对,查询资料反反复复还是出现这个异常突然一下想到会不会是有重复id名字的sql 我用的是idea,直接全局查询,确实查到了一模一样在别的包下的sql,因为我项目是maven的子工程,就给冲突了;最后还是冒着尝试想法去试了一下,把名字一个,哦吼!美滋滋 问题解决 不在报错以后开发还是需要多注意名字重复的问题的!…

    2022年8月19日
    7
  • 【附源码+代码注释】误差状态卡尔曼滤波(error-state Kalman Filter),扩展卡尔曼滤波,实现GPS+IMU融合,EKF ESKF GPS+IMU

    【附源码+代码注释】误差状态卡尔曼滤波(error-state Kalman Filter),扩展卡尔曼滤波,实现GPS+IMU融合,EKF ESKF GPS+IMU2021年6月23日更新:发现了一个讲卡尔曼滤波特别好的视频,但是需要科学上网。卡尔曼滤波视频 最近在学习卡尔曼滤波器,今天抽出点儿时间总结一下! 我的所有源码都放在

    2022年6月22日
    39
  • js判断当前操作系统

    js判断当前操作系统

    2021年9月11日
    64
  • google搜索引擎怎么用_如何使用谷歌搜索

    google搜索引擎怎么用_如何使用谷歌搜索2021年2月23日,在使用python的matplotlib模块画图的过程中,marker的点过于密集了,在国内的搜索引擎(你懂的)搜索了好长时间,也不知道是我的搜索关键字设置的不对,还是它就是这么垃圾,一直搜索不出来我需要的答案。无奈之下,只好试试google。在google里面使用中文搜索也是搜索不到答案,我使用英文关键字搜索,第一条搜索出来的便是StackOverflow的答案,立马解决了我的问题。这令我感触颇深,google搜索引擎确实是程序员的利器。所以一定必须用好google搜索。

    2025年10月24日
    4
  • 计算机三级数据库:课本知识点总结以及备考方案建议

    计算机三级数据库:课本知识点总结以及备考方案建议计算机三级(数据库)复习重点欢迎阅读我的计算机三级总结第一章数据库应用系统开发方法第二章需求分析第三章数据库结构设计(自底向上)第四章数据库应用系统功能设计与实现第五章UML与数据库应用系统第六章高级数据查询第七章数据库及数据库对象第八章数据库后台编程技术第九章安全管理第十章数据库运行维护与优化第十一章故障管理第十二章备份与恢复数据库第十三章大规模数据库架构第十四章数据…

    2022年6月18日
    32
  • 详解 ManualResetEvent

    详解 ManualResetEvent今天详细说一下ManualResetEvent它可以通知一个或多个正在等待的线程已发生事件,允许线程通过发信号互相通信,来控制线程是否可心访问资源当一个线程开始一个活动(此活动必须完成后,其他线程才能

    2022年7月3日
    27

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号