提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
- 前言
- 一、抓包
- 二、IDA反编译
- 三、定位
- 四、根据调用栈确定md5
- 总结
前言
目标app:5ZKa5ryr 版本:2.8.0 工具:charles、frida
文章内容仅供参考学习,如有侵权请联系作者进行删除
一、抓包
从抓包结果可以看出来params中含有md5、expires的参数,不携带或加密错误均返回异常结果。
二、IDA反编译
使用frida-ios-dump进行脱壳,将mach-o文件拖入IDA中进行反编译
三、定位
这里定位比较取巧,看md5的参数值7U_KXVV33NzhLDfNvzGqlw 像是以前分析过的样本: 结果base64后将-替换为_ 、=替换为空
/*
这里直接使用frida-trace对base64进行hook
*/
frida-trace -UF -m "-[NSData base64EncodedStringWithOptions:]"
四、根据调用栈确定md5
代码如下(示例):
/*根据base64的调用栈分析,使用了md5标准加密算法
*/
frida-trace -UF -i CC_MD5
可以很清楚的知道 expires时间戳+urlpath+key的md5结果进行base64
总结
加密简单适合新入门的朋友练手,不涉及魔改、混淆等