Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> IDA動態調試Android的DEX文件

IDA動態調試Android的DEX文件

編輯:關於Android編程

0x00

我們以阿裡比賽第一題為例,來動態調試dex文件。參考IDA動態調試Android的DEX文件一文,首先AndroidManifest.xml裡面android:debuggable="true"。

0x01

下面詳細說步驟。

1、將classes.dex拖入IDA中。

2、選擇Debugger->Debugger options->Set specific options,在Package Name和Activity中填入主Activity的包名和類名。

\

3、選擇Debugger->Process options,將Port改為8700。

\

4、下斷點

在左邊的側邊欄搜索onCreate。

\

點擊MainActivity_onCreate@VL,設置斷點。

\

 

5、手機端開啟android_server

\

 

6、端口轉發,打開要調試的Activity

\

此時應用的界面處於等階段,如下:

\

注意此時在第7步前一定要關閉eclipse,也就是關閉ddms,否則IDA提示can’t bind socket。

7、選擇Debugger->attach to process。出現如下界面:

\

接下來,出現的界面就一直Cancel就好了。

我們看到程序停在的MainActivity的onCreate方法。按F8單步執行。

\

8、怎麼在onClick方法下斷點呢?

我們使用雙開IDA ,在靜態分析中,左側邊欄搜索onClick。

\

點擊MainActivity$1_onClick@VL,如下圖:

\

所以在動態調試的IDA中,按G,調到7A88C的地址。

\

然後下斷點。

\

然後點擊F8,讓程序繼續運行,剛才停在onCreate方法。

此時IDA界面如下:

\

應用程序界面如下:

\

此時輸入密碼,點擊登錄,程序會停留在剛才下的斷點位置。

\

此時按F8,就可以單步調試onClick方法了。

和IDA動態調試so中少了一步jdb -connect com.sun.jdi.SocketAttach:port=8700,hostname=localhost。

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved