微信小程序反编译分析
通过抓包工具对小程序进行抓包并反编译为js源码,通过对源码进行分析找出代码中的逻辑漏洞和敏感信息,对这些漏洞和敏感信息加以利用、对应用进行授权绕过、函数hook、密钥窃取等方式危害app安全的方式攻击小程序。
破解原理
小程序包抓取:从微信本地缓存中抓取目标小程序的wxpkg包;
wxpkg解析:解析wxpkg文件,反编译出js源码;
js源码分析:
对源码深透分析,寻找代码中的逻辑漏洞;
获取关键API签名、密钥、接口校验逻辑;
对关键函数资产进行逆向破解、复现;
应用攻击:利用源码分析获得的应用信息,对应用进行破解、函数hook、请求劫持等对应用产生破坏性的攻击。
破解步骤
获取并包应用:
小程序通常是以.wxpkg 进行传输和缓存的、可以在本地的
~/Library/Containers/com.tencent.xinWeChat/Data/Documents/app_data/radium/web/profiles/文件中找到

使用解包工具将 .wxpkg 解包,得到js源码文件

代码分析与修改:

分析反编译得到的源码,寻找关键业务逻辑;
定位支付、验证、加密网络api等核心功能;
找出API密钥、服务端点等敏感信息。
防御方案
代码混淆与控制流保护:
对加密代码进行重度混淆,隐藏关键数据和控制流
运行时保护机制:
在编译运行时加入一些环境检测,检测到相关调试
内自定义加密和多重防护:
代码多态性:每次编译生成结构不同但功能相同的代码
自检测与防篡改:检测到攻击行为时销毁敏感数据或锁定应用
END
欢迎给我们留言
点击关注,不错过下次精彩内容
上一篇: 没有了