网上的教程坑太多,记录一下
使用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/