Android Studio動態(tài)調(diào)試apk

動態(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代碼。


smali

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

3.在工程內(nèi),選擇src - Mark Directory as - Sources Root。

project

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


Edit Configurations

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


remote

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

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

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


am start

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

execution point
Variables
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容