小程序反编译代码审计出奇迹

admin 2022年4月26日06:56:24评论77 views字数 1094阅读3分38秒阅读模式


前言


数据加密或者是业务加签是我们在进行数据包重放或者是修改数据时,不得不遇到的痛点。总体来说对于数据解密或者业务加签破解的难度是:app>web>wxapp。因为api接口都是相同的,因此为了降低挖洞难度,我们可以将目光放到微信小程序上。


抓包


抓包这一块就简略的讲一下,因为主要内容还是代码审计上。目前微信在PC上也是可以使用小程序的,所以小程序的数据包获取上有两种方式,一种还是常规的手机抓包,挂vpn进行数据转发。高版本Android系统不要忘记证书问题。对于PC上的抓包,在座的师傅们都比我懂,我就不多说了。


源码提取


本次重点介绍Android端小程序的源码提取,对于PC上的小程序由于还加了一层加密(当然也有解密脚本),我就不多此一举了。首先需要一台root过的手机或者是模拟器。打开微信。文件夹cd到以下路径


/data/data/com.tencent.mm/MicroMsg/{一串16进制字符}/appbrand/pkg


小程序反编译代码审计出奇迹


然后把已经存在的都rm -rf。


此时再打开咱们的目标小程序,此处注意,一定要等小程序完全打开并且再点几个功能,确保将所有包都运行,因为目前的小程序体量逐渐变大,会有多个子包的存在。


小程序反编译代码审计出奇迹


此时将咱们的目标小程序包pull出来。利用命令adb pull


小程序反编译代码审计出奇迹


然后上工具


https://github.com/xuedingmiaojun/wxappUnpacker。进行解包。


建议还是在linux系统下进行操作。windows下因为windows下命名规范问题,因此在windows环境下反编译会出现文件夹丢失情况,没法导入分析工具。下图就是两种不同的结果。


小程序反编译代码审计出奇迹


小程序反编译代码审计出奇迹


导出完成就是这样的,可以导入微信开发者工具进行静态调试或者是动态调试了。


小程序反编译代码审计出奇迹


静态分析


首先看一下我们要分析什么


小程序反编译代码审计出奇迹


由于xxxPhone数据经过了加密,并且我采用原始手机号代替该数据也是无法进行发包,因此就需要了解此处的加密方式,并且进行还原。


此时打开微信开发者工具,将代码导入。


小程序反编译代码审计出奇迹


此处使用测试号即可。进入之后点击编译。


小程序反编译代码审计出奇迹


我们在搜索框中搜索关键词,可以搜索api,主要的字段都可以。


小程序反编译代码审计出奇迹


找到调用函数处,发现数据加密函数为i.encrypt。查看该i函数。


小程序反编译代码审计出奇迹


又是引用了532e模块。跟进去。


小程序反编译代码审计出奇迹


可以了,此时无声胜有声。


AES的特征都已经显露出来了,所需要的必要参数也是都已经给出,此时去验证一下。


小程序反编译代码审计出奇迹


小程序反编译代码审计出奇迹


验证成功。


总结


特别感谢303师傅和二哥。


小程序反编译代码审计出奇迹

【火线短视频精选】


【周度激励】2021.9.6 ~ 2021.9.12公告


小程序反编译代码审计出奇迹



【相关精选文章】


APP抓包问题总结及常见绕过方法


傻瓜式脱壳保姆级教学


【招人专区】


小程序反编译代码审计出奇迹

小程序反编译代码审计出奇迹

本文始发于微信公众号(火线Zone):小程序反编译代码审计出奇迹

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年4月26日06:56:24
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   小程序反编译代码审计出奇迹http://cn-sec.com/archives/543129.html

发表评论

匿名网友 填写信息