微信小程序反编译教程_微信小程序防止反编译

微信小程序反编译教程_微信小程序防止反编译最近写爬虫需要小程序反编译,过程总结下…..通过微信PC版,打开需要反编译的小程序,小程序将产生缓存文件(但他是加密的),通过”小程序解密包”工具将加密的缓存文件解密成为”XXX.wxapkg”文件然后通过wxappunpacker工具反编译下载地址:链接:https://pan.baidu.com/s/1nqg97PxkFTt1TnEWECikYQ提取码:bsu91.找到小程序加密文件微信PC版查看设置->文件管理->打开文件夹然后往上一层返回一步例如:………

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

最近写爬虫需要小程序反编译,过程总结下…..

通过微信PC版,打开需要反编译的小程序,小程序将产生缓存文件(但他是加密的),通过”小程序解密包”工具将加密的缓存文件解密成为”XXX.wxapkg”文件
然后通过wxappunpacker工具反编译

链接:https://pan.baidu.com/s/1QEFZHiGBEm0LWrBdXeoftA 
提取码:bu2e

先安装node.js
下载完wxappunpacker工具,进入wxappUnpacker.zip这个目录后,运行cmd 执行命令
npm install
npm install esprima    
npm install css-tree    
npm install cssbeautify    
npm install vm2    
npm install uglify-es    
npm install js-beautify

步骤:

1.找到小程序加密文件
微信PC版查看 设置->文件管理->打开文件夹 然后往上一层返回一步 例如:W:weixin_WeChat Files /wxid_65130XX12 ,返回一步 就是 W:weixin_WeChat Files
打开里面的 Applet 文件夹,有很多wx开头的文件夹(这些就是各种小程序的缓存文件),先全部删除
然后打开想要反编译的小程序,这个时候 Applet 里面就会新增一个wx开头的文件夹,打开进入 会有一个数字文件夹,再打开 就看到至少有一个”.wxapkg”后缀文件 如:_APP_.wxapkg
这个就是小程序的主文件,如果是多个文件,那么其他的就是分包小程序文件

微信小程序反编译教程_微信小程序防止反编译微信小程序反编译教程_微信小程序防止反编译

2.解密文件
打开小程序解密包里面的exe文件 UnpackMiniApp.exe 点击”选择小程序加密包” 按钮;选择_APP_.wxapkg;然后就会生成解密的程序文件,放在’wxpack’文件夹,同样是’.wxapkg’结尾

微信小程序反编译教程_微信小程序防止反编译

 微信小程序反编译教程_微信小程序防止反编译

 3.反编译文件
进入 wxappunpacker.zip文件夹,运行cmd命令
bingo.bat testpkg/master-xxx.wxapkg
“testpkg/master-xxx.wxapkg” 就是步骤2生成的文件的路径,然后回车运行,就会在步骤2的文件路径里生成一个和文件名一样的文件夹,这个就是主小程序了

微信小程序反编译教程_微信小程序防止反编译

 微信小程序反编译教程_微信小程序防止反编译

 微信小程序反编译教程_微信小程序防止反编译

分包方法

重复步骤1
重复步骤2,首先,主包生成的文件改一下文件名,比如生成的文件是wydd.wxapkg 改为wydd_1.apkg;然后选择的是其他的分包,有生成了一个wydd.wxapkg 改为wydd_2.wxapkg 以此类推解密所有的 分包
重复步骤3,但这个步骤仅限主包的
然后是分包命令如下: ( 反编译命令,既  node wuWxapkg.js 解密包路径+文件名 )
node wuWxapkg.js XXX wydd_2.wxapkg -s=XXX wydd_1

“XXX wydd_2.wxapkg” 是解密的分包路径+文件名
“XXX wydd_1” 是反编译主包时生成的文件夹路径,最后分包也解析到’wxpack’文件夹中

然后执行命令,其他分包也用此命令,只需要修改wydd_2.wxapkg解密文件的名字即可

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

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

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


相关推荐

  • JavaScript数组-冒泡排序

    JavaScript数组-冒泡排序数组的冒泡排序算法也算一道经典面试题了,这里也给大家分享一下JavaScript中关于数组的冒泡排序的写法和思路:先给大家上代码:<script>//冒泡排序:将数组中的数字按照从大到小或从小到大的顺序排序vararr=[2,4,5,1,3];for(vari=0;i<arr.length-1;i++){//外层循环管趟数,即数组的全部项数都排好一共需要比较多少次一趟排好一个,注意趟

    2022年5月18日
    37
  • tree树形结构_什么是树形结构

    tree树形结构_什么是树形结构一、树的基本概念(1)树(Tree)的概念:树是一种递归定义的数据结构,是一种重要的非线性数据结构。树可以是一棵空树,它没有任何的结点;也可以是一棵非空树,至少含有一个结点。(2)根(Root)

    2022年8月3日
    2
  • 将截断字符串或二进制数据解决办法_数据库从字符串转换日期失败

    将截断字符串或二进制数据解决办法_数据库从字符串转换日期失败在EF中,使用CodeFirst给实体添加约束的时候,使用NeGut控制台进行更新到数据库中,先使用add-migrationmigrationName命令进行创建(migrationName是进行更新的名字),然后使用Update-Database进行更新到数据库,此时报出问题:将截断字符串或二进制数据。语句已终止。错误原因为什么会报出这个问题,原因就是添加的限制和数据库中已…

    2022年10月7日
    0
  • 聊聊学习和成长

    聊聊学习和成长

    2022年3月7日
    41
  • 前端如何获取当前时间_js 获取年份

    前端如何获取当前时间_js 获取年份前端js获取当前时间的方法:vartime=newDate();time.getYear();//获取当前年份time.getFullYear();//获取完整的年份(4位,1970-???)time.getMonth();//获取当前月份(0-11,0代表1月)time.getDate();//获取当前日(1-31)tim…

    2022年9月23日
    0
  • 通过Jedis操作Redis[通俗易懂]

    通过Jedis操作Redis[通俗易懂]jedis是redis的java版本的客户端实现,Jedis提供了完整Redis命令。

    2022年9月8日
    0

发表回复

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

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