安卓IDA動態調試總結

來源:互聯網
上載者:User

標籤:個數   debug   forward   連接埠號碼   選中   pat   ddr   最好   安全性原則   

安卓ida動態調試總結

不出問題的理想步驟(帶反調試的版本)

需要的軟體:
  • ida7.0/6.8
  • ddms(或者sdk/tools/monitor.bat)
  • root真機一部(因為android_server是基於arm架構,而大多數模擬器基於x86,所以最好是真機)或者AVD模擬器
  • 待調試apk(test.apk,包名:)
  • adb
正確步驟:
  1. 新開一個cmd
  • adb push android_server /data/local/tmp(android_server在ida的dbgsrv目錄下)
  • adb shell
  • su
  • cd /data/local/tmp
  • chmod 777 android_server
  • ./android_server
  1. 新開一個cmd
  • adb install test.apk
  • adb forward tcp:23946 tcp:23946
  • adb shell am start -D -n 包名/類名(程式包名可以在AndroidMainfest檔案中找到,類名我是用androidkiller的入口函數;這是以啟動模式啟動)
  1. 開啟IDA,Debugger->attach->android_server ,

先Debug options設定:

然後hostname設定

然後點擊ok,彈出進程列表

Search apk包名,然後記住進程ID,然後重要的一步,在Debug option裡面:

還是選中那三個選項。

4.cmd

  • adb forward tcp:8899 jdwp:11514 (11514是進程的id)
  • jdb -connect com.sun.jdi.SocketAttach:port=8657,hostname=127.0.0.1

jdb的port參考的是monitor的相關進程的連接埠號碼:

等前面的蜘蛛變綠(不用jdb,前面蜘蛛為紅色),然後就可以F9運行了。

下面說說遇到的問題:

1.首先保證apk是否支援debuggble模式,在AndroidMainfest檔案裡,application結點android:debuggable="true",如果不是,可修改後二次打包

如:

2.原手機android_server已經在運行問題:

在執行./android_server時彈出bind: Address already in use

解決方案:

在adb shell 裡:ps | grep android_server

然後他會輸出進程ID,第一個數即為進程id:

如輸出:root 12212 13423 23213 後省略

然後執行kill -s 9 12212

3.IDA attach報錯

(1)incompatible debugging serer:address size is 4 bytes

錯誤原因:是android_server是32位的,而ida是64位的。

解決方案:啟動32位ida

(2)Bogus or irresponsive remote server

錯誤原因:SELinex安全性原則限制

解決方案:

  • adb shell
  • su
  • setenforce 0

安卓IDA動態調試總結

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.