天天看点

IDA Pro动态调试Android so文件

网上的教程坑太多,记录一下

使用apktool或者Android Killer反编译apk,在androidmanifest.xml添加以下代码将程序设置为可调试模式

<application

    android:debuggable=“true”>

(不这样做的话在DDMS里就看不到进程信息)

重新打包编译签名

adb install xxx.apk

adb push android_server /data/local/tmp/android_server

adb shell

su

cd /data/local/tmp

./android_server

adb forward tcp:23946 tcp:23946

adb shell am start -D -n com.yaotong.crackme/.MainActivity

在IDA Pro里

Debugger->Attach->Remote ARMLinux/Android Debugger

Hostname填手机局域网ip    Port填23946

Debugger setup勾上

Suspend on thread start/exit

Suspend on library load/unload

Suspend on debugging message

OK

在module list找到要crack的so

根据静态分析的地址加上so的基址

在关键位置下断点 init init.arry JNI_Onload

打开DDMS(必须)

jdb -connect com.sun.jdi.SocketAttach:hostname=127.0.0.1,port=8700

开始debug

原文地址: https://sweetll.me/2016/02/ida-pro%E5%8A%A8%E6%80%81%E8%B0%83%E8%AF%95android-so%E6%96%87%E4%BB%B6/

继续阅读