Android(五)——dex文件动态调试
代碼動態(tài)調(diào)試:
代碼動態(tài)調(diào)試技術(shù),一般是通過觀察程序在運行過程中的狀態(tài),如寄存器內(nèi)容,函數(shù)執(zhí)行結(jié)果,內(nèi)存使用情況等等,分析函數(shù)功能,明確代碼邏輯,查找可能存在的漏洞
工具:IDA
條件:AndroidManifest.xml里的Android:debuggable="true"
步驟:
1)如果AndroidManifest.xml里的Android:debuggable="false",嘗試修改為true,再使用Apktool重新簽名,安裝,如果成功就可以進行調(diào)試了;
2)安裝android_server(在ida安卓包中),然后端口轉(zhuǎn)發(fā)adb forward tcp:23946 tcp:23496
3)使用ida打開apk文件中的dex文件
4)選擇Debugger-Debugger options-set spectific options進行調(diào)試
?具體步驟:
動態(tài)調(diào)試:
啟動android_server并且轉(zhuǎn)發(fā)端口:
?
?
?
打開dex文件:
?
?
?
然后點擊debugger選項中的debugger options,選擇set specific options:
?
?
?
設(shè)置完上面的以后,點擊debugger選項下的attach to process:
?
?
彈出的對話框點擊ok就可以來到調(diào)試頁面了:
?
?
如果你看不懂smali代碼,這里也可以加載java代碼來進行調(diào)試(這里需要先把class.dex文件反編譯成java代碼):
還是在debugger選項下,選擇open source file:
?
?
?
?
?
接下來就是下斷點了,可以在java代碼中下斷點,也可以直接在smali中下斷點,這里用smali:
Ctrl+P查找onclick
?
?
雙擊onClick,進入到該函數(shù):
?
?
?
?
F2下斷點,F8單步調(diào)試:
?
?
?
利用java調(diào)試步驟是一樣的,就不演示了。
?
轉(zhuǎn)載于:https://www.cnblogs.com/xiaoqiyue/p/10485168.html
總結(jié)
以上是生活随笔為你收集整理的Android(五)——dex文件动态调试的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 日记——2019-03-08
- 下一篇: android sina oauth2.