1.打開cmd進入IDA6.8目錄的dbgsrv子目錄,執(zhí)行以下命令:
adb push android_server /data/local/tmp
adb shell
cd /data/local/tmp
chmod 755 android_server
su
./android_server
2.IDA 設置
菜單->Debugger->Select Debugger... 選擇Remote ARM Linux/Android debugger
菜單->Debugger->Process options... HostName填寫手機IP地址
菜單->Debugger->Attack to process.. 在顯示的進程列表中選擇需要調(diào)試的進程。調(diào)試器附加成功后選擇對應的so模塊。
將dbgserver拷貝到android手機的/data/data/目錄下,需要root權(quán)限
D:\ProgramFiles (x86)\IDA 6.8\dbgsrv>adb push android_server /data/data/sv
3094 KB/s (523480bytes in 0.165s)
添加執(zhí)行權(quán)限
D:\ProgramFiles (x86)\IDA 6.8\dbgsrv>adb shell chmod 755 /data/data/sv
啟動dbgserver
D:\ProgramFiles (x86)\IDA 6.8\dbgsrv>adb shell /data/data/sv
IDA Android 32-bitremote debug server(ST) v1.19. Hex-Rays (c) 2004-2015
Listening on port#23946...
另外啟動一個命令窗口輸入如下命令開啟端口轉(zhuǎn)發(fā):
adb forward tcp:23946 tcp:23946
啟動ida的調(diào)試器,先選擇run和是attach(根據(jù)需要),調(diào)試器選擇Remote ArmLinux/Android debugger
Attach方式
Hostname寫localhost,port 23946
然后選擇進程attach
Run方式
(
啟動一個新進程
)
設置相關(guān)屬性項。
注意這些路徑都是是在android手機上的路徑,如果程序在PC上需要先push到設備上,添加執(zhí)行權(quán)限:
如果出現(xiàn):
Bogus or irresponsive remote server
錯誤
在adb shell中執(zhí)行
setenforce 0
關(guān)閉selinux安全機制(需要root權(quán)限)