逆向进阶工具Frida,当加密的资源使用 自研加密算法 时,很多时候并不能通过简单的观察推到解密算法。这个时候就可以通过Frida注入, Hook解密函数,最终提取解密密钥。再通过 Ghidra 或者 IDA 逆向算法。
点击阅读逆向实验室 - 实战进阶Frida进程注入框架
逆向进阶工具Frida,当加密的资源使用 自研加密算法 时,很多时候并不能通过简单的观察推到解密算法。这个时候就可以通过Frida注入, Hook解密函数,最终提取解密密钥。再通过 Ghidra 或者 IDA 逆向算法。
下载安装 Frida
安装frida-server
通过adb获取模拟器、手机的CPU ABI信息。
1
2
3
4
5
adb shell "getprop |grep cpu"
# [ro.product.cpu.abi]: [arm64-v8a]
# 连接mumu模拟器
adb connect 127.0.0.1:7555
根据 arm64 下载对应的Frida-server包。mumu模拟器使用 frida-server-15.1.17-android-x86.xz,其他品牌的模拟器大概率也是x86架构。
1
2
3
4
5
6
7
8
# frida-server推送到/data/local/tmp目录
adb push frida-server-15.1.17-android-x86 /data/local/tmp
# 进入目录启动frida-server
adb shell "chmod 777 /data/local/tmp/frida-server-15.1.17-android-x86 | /data/local/tmp/frida-server-15.1.17-android-x86 &"
# root@BLA-AL00:/ # cd /data/local/tmp/
# root@BLA-AL00:/data/local/tmp # chmod 777 frida-server-15.1.17-android-x86
# ./frida-server-15.1.17-android-x86
安装 frida-CLI
本地安装
1
pip install frida frida-tools
开始逆向
TODO:
参考资料
本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。欢迎转载、使用、重新发布,但务必保留文章署名 TinyZ Zzh (包含链接: https://tinyzzh.github.io ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。 如有任何疑问,请 与我联系 (tinyzzh815@gmail.com) 。
评论