ida trace代码并还原算法
目标
1. 学习使用ida server进行trace代码 2. 学习使用frida进行动态调用方法 3. 学习ida命令 4. 学习分析trace到的代码进行还原算法
准备
- ida
- 手机要安装ida_server和frida
- jadx-gui
- 待调试使用的apk
链接:https://pan.baidu.com/s/19alNihnVzScBM8aoLWjm1A?pwd=bvpt 提取码:bvpt
知识准备
1. android_server默认位置在${本地ida安装目录}/dbgsrv,根据自己手机的cpu位数选择使用android_server还是android_server64. 2. 如何查看自己的手机是32位还是64位的
adb shell getprop ro.product.cpu.abi
3. 如何查看自己的手机的cpu架构
adb shell cat /proc/cpuinfo
开始
1:安装android_server
使用adb命令进行安装,先上传,再启动。具体如下。
1.1 上传android_server64,并重命名为as。重命名的目的是为了防止反逆向检测。
adb push D:xxxIDA_Pro_v7.5_Portabledbgsrvandroid_server64 /data/local/tmp/as
1.2 赋予as可执行权限
adb shell chmod 777 /data/local/tmp/as
1.3 端口转换
adb forward tcp:11678 tcp:11678
1.4 启动as,并指定端口,指定端口的目的是为了反逆向检测对端口进行了监控
adb shell /data/local/tmp/as -p11678
2:开始调试
- 新打开一个IDA窗口或者File - New instance
- debugger -> attach -> Remote ARM Linux/Android debugger
- 在弹出的窗口中输入如下信息 hostname输入localhost port输入11678,这里是咱们启动android_server64时指定的端口号 可选,点击debugger options进行自定义选项。有时候要考虑选择 suspend on debugging start suspend on process entry point suspend on thread start/exit suspend on library load/unload