快捷搜索: 王者荣耀 脱发

ida trace代码并还原算法

目标


1. 学习使用ida server进行trace代码 2. 学习使用frida进行动态调用方法 3. 学习ida命令 4. 学习分析trace到的代码进行还原算法

准备


  1. ida
  2. 手机要安装ida_server和frida
  3. jadx-gui
  4. 待调试使用的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:开始调试

  1. 新打开一个IDA窗口或者File - New instance
  2. debugger -> attach -> Remote ARM Linux/Android debugger
  3. 在弹出的窗口中输入如下信息 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

总结


其他


经验分享 程序员 微信小程序 职场和发展