逆向小程序破解js-(逆向篇)

首先声明: 此次逆向Js只为学习交流使用,切勿用于其他非法用途,关键代码均打码

最近接触的微信小程序较多, 其中有些加密,和遇到的一些问题,和大家交流一下, 本章节主要讲述小程序逆向js的代码一个过程,希望可以帮助的大家。

用到的环境:

编译阶段:

  • 首先找到小程序的安装包,可以找个手机,点开小程序后,找到手机文件目录, 一般是这样的目录。
    /data/data/com.tencent.mm/MicromMsg/c6dxxxxxxxxxxxxx/appbrand/pkg/*.wxapkg
    在这里插入图片描述

  • 现在把这些包从手机里导出来,进行解析,用adb进行导出, 如果不知道哪个文件可以批量导出(博主这只有两个文件 可以批量导出,如果很多wxapkg建议清理一下,重启目标小程序。)
    adb pull /data/data/com.tencent.mm/MicroMsg/*******/appbrand/pkg/
    在这里插入图片描述有些手机可能会报权限问题: adb root && adb remount 增加权限
    这时候就会在当前目录生成一个pkg文件,里面放的就是wxapkg文件。

  • 使用wxappUnpacker把刚才导出来的两个wxapkg进行解压。
    node wuWxapkg.js ../mryx/pkg/pkg/_1123949441_403.wxapkg在这里插入图片描述但是解压到第一个包的时候包了一个如下错误:
    在这里插入图片描述大概意思是说这是一个pkg的子文件,并不是一个完整的小程序, ok,那不管,接着解析另一个

node wuWxapkg.js ../mryx/pkg/pkg/_656941515_671.wxapkg在这里插入图片描述
现在显示第二个wxapk包编译完成, 如果出现上图,那么就是编译成功,会把解析的包生成一个项目文件,这个项目文件会放在wxapkg同目录下。
在这里插入图片描述
现在看到有两个文件,但是_1123949441_403刚才解析的时候不是一个完整项目,那我们直接看_656941515_671这个文件,用vscode打开(用啥都行,喜欢就好。)
在这里插入图片描述
而且代码可读性比较强,显然这个小程序是没有经过混淆的(往后也会分享一些怎么处理混淆后的js代码,增加可读性。)
在这里插入图片描述
sign加密
在这里插入图片描述

目前这个程序的逆向就完成,代码就编译出来了,也可以从代码找到一些加密方法。但是目前还有一个问题,就是不能进行调试,无法向pc端那样动态调试,和函数的输入输出,这样会增加破解难度,也非常耗时间。所以咱们下一篇会分享 使用微信开发者工具 对微信小程序进行动态调试,代码debug, 看函数的输入输出。

猜你喜欢

转载自blog.csdn.net/qq_38219875/article/details/106866532