Android(五)——dex文件动态调试
代碼動態調試:
代碼動態調試技術,一般是通過觀察程序在運行過程中的狀態,如寄存器內容,函數執行結果,內存使用情況等等,分析函數功能,明確代碼邏輯,查找可能存在的漏洞
工具:IDA
條件:AndroidManifest.xml里的Android:debuggable="true"
步驟:
1)如果AndroidManifest.xml里的Android:debuggable="false",嘗試修改為true,再使用Apktool重新簽名,安裝,如果成功就可以進行調試了;
2)安裝android_server(在ida安卓包中),然后端口轉發adb forward tcp:23946 tcp:23496
3)使用ida打開apk文件中的dex文件
4)選擇Debugger-Debugger options-set spectific options進行調試
具體步驟:
動態調試:
啟動android_server并且轉發端口:
打開dex文件:
然后點擊debugger選項中的debugger options,選擇set specific options:
設置完上面的以后,點擊debugger選項下的attach to process:
彈出的對話框點擊ok就可以來到調試頁面了:
如果你看不懂smali代碼,這里也可以加載java代碼來進行調試(這里需要先把class.dex文件反編譯成java代碼):
還是在debugger選項下,選擇open source file:
接下來就是下斷點了,可以在java代碼中下斷點,也可以直接在smali中下斷點,這里用smali:
Ctrl+P查找onclick
雙擊onClick,進入到該函數:
F2下斷點,F8單步調試:
利用java調試步驟是一樣的,就不演示了。
總結
以上是生活随笔為你收集整理的Android(五)——dex文件动态调试的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: for循环执行次数_VB考试笔记之循环控
- 下一篇: 2022年了,光盘刻录机还有存在的必要吗