应用安全 --- 安卓安全 之 so分析流程
1.字符串快速定位。导出所有的字符串查看所有可能的感兴趣的结果,并定位关键函数。
2.初始化函数分析。找到所有的入口函数(导出函数)并分析。找到_init_array节区的所有初始化函数并分析,这部分代码可能包含数据的加解密,是比入口函数都要最先执行的函数
4.静态分析。导出所有函数的反汇编和反编译代码。用ai和ida脚本自动化分析所有函数的入口参数和返回值和函数作用。建议从大文件函数开始
5.动态调试。函数调用链分析。使用hook脚本hook所有自定义函数而非系统函数追踪调用流程,重点关注第一次调用和最后一次调用的函数往往就是关键函数。使用frida动态调试关键函数运行时输入的值。分析结构体,比如esi就是一个结构体,指向
[esi+4] - 行号 (line number)
[esi+28h] - lua_State* 指针
[esi+30h] - token_buffer 指针
[esi+3Ch] - source_name 相关信息
6.打补丁。回编译验证反编译函数的准确性
报错分析结果到gitee方便下次分析。
浙公网安备 33010602011771号