安卓除錯 .so 斷到 JNI_OnLoad 或者 .init段

TLSN發表於2024-12-09

一、設定全域性除錯狀態

su
getprop ro.debuggable               // 檢視是否開起了全域性除錯


su
magisk resetprop ro.debuggable 1       // 設定全域性除錯狀態(臨時設定)
stop;start

當然,如果app本身有 debeggable屬性的話,可以不用設定

二、啟動server,設定埠轉發

cd /data/local/tmp
./android_server64        


adb forward tcp:23946 tcp:23946                            // 再開一個終端,做埠轉發

之後下斷點

三、除錯模式啟動目標

adb shell
su
am start
-D -n <包名>/.入口 # am命令啟動app(如:am start -D -n com.example.re3/.MainActivity

四、埠轉發,並讓程式繼續執行

adb forward tcp:8700 jdwp:<pid>     
jdb -connect com.sun.jdi.SocketAttach:hostname=127.0.0.1,port=8700

此時我們 ida 直接 F9即可。我們也可以在 IDA->Debugger->Debugger Options 上進行設定,設定在載入 任何一個.so檔案的時候斷下來

相關文章