動態(tài)調(diào)試是Android逆向不可或缺的技能之一,本文簡單介紹一下利用Android Studio動態(tài)調(diào)試apk的流程。
-
需要的工具
1.反編譯/重打包/簽名 工具
2.[smaliIdea](https://github.com/JesusFreke/smali/wiki/smalidea
): 在Android Studio內(nèi)安裝該插件后,可以高亮smali語法,方便我們閱讀。
-
重打包Apk
想要調(diào)試apk,必須在AndroidManifest內(nèi)application的屬性內(nèi),設(shè)置可調(diào)式屬性。我們將apk反編譯,添加android:debuggable="true"后,重打包再次簽名,安裝到手機(jī)上即可。
-
debug流程
1.新建文件夾,在其子文件夾的src文件夾內(nèi)存放反編譯后的smali代碼。

2.在Android Studio內(nèi)選擇打開現(xiàn)有工程,選擇Create Project From Existing Sources,選擇下一步直到完成。
3.在工程內(nèi),選擇src - Mark Directory as - Sources Root。

4.在菜單欄內(nèi)選擇Run - Edit Configurations。

5.點(diǎn)擊 "+" ,新建一個Remote。

6.將localhost的端口號設(shè)置為8700,點(diǎn)擊OK。

7.在菜單欄內(nèi)選擇File - Project Structure,配置Project SDK。

8.打開DDMS(Android Device Monitor)。
9.在Terminal 內(nèi)使用命令,以調(diào)試方式啟動App,啟動成功后,可以在手機(jī)上看到Wating For Debugger對話框。

10.打斷點(diǎn),點(diǎn)擊Debug開始調(diào)試。可以看到我這里debug的invoke值都調(diào)試出來了,這樣就達(dá)到了,無需詳細(xì)分析代碼,直接獲取關(guān)鍵值的效果。

