文章目录

如果是第一次调试首先要修改一下配置文件。修改IDA6.8的cfg/exception.cfg,修改.linux为.linux,.armlinux

用命令android list avd 查看所有的模拟器

Emulator –avd android1启动模拟器

模拟器启动后,在IDA的安装路径中找到android_server文件

  • 将android_server拷贝到模拟器的/data/local/tmp目录下面。
  • Adb push android_server /data/local/tmp
  • 接着输入adb shell chmod 777 /data/local/tmp/android_server” 给android_server加上相应的权限。
  • 接着输入 adb shell /data/local/tmp/android_server”启动android_server。

重新打开一个命令提示符,
输入”adb forward tcp:23946 tcp:23946”进行tcp端口转发

  • 使用adb install 111.apk将111.apk安装到模拟器上。先输入”adb shell”,然后输入”su root”获取root权限后
  • adb root 模式下执行am start –D –n com.alibaba.wireless.security.hellojnigradle/com.alibaba.wireless.security.hellojnigradle.MainActivity
    命令,启动所要调试的Activity。

app会弹出”Waitting for debugger”对话框,如下图所示:

启动ida pro,点击”Debugger - > Attach -> Remote ArmLinux/Android debugger”,会看到以下对话框:

点击”Debug options”按钮,在”Suspend on process entry point”, ”Suspend on thread start/exit”, ”Suspend on library load/unload” 等选项的前面打上勾,如下图所示:

点击”ok”后会在以下对话框的hostname中填上”localhost”

在弹出的”Choose process to attach to”窗口中找到” “com.alibaba.wireless.security.hellojnigradle”进程,选中该进程,然后点击”ok”按钮。

使用DDMS命令打开DDMS,查看jdb对应的调试端口.


打开命令提示符,输入以下命令:jdb -connect com.sun.jdi.SocketAttach:port=8700,hostname=localhost。这里的jdb要进到JDK安装目录下才能起作用。

回到IDA,
然后就是F9运行,F2设置断点,F8单步了。

文章目录