AndroidStudio动态调试smali
本文部分參考至吾愛破解https://www.52pojie.cn/thread-658865-1-1.html
1、環(huán)境與工具
AndroidStudio V3.2beta1
smaliidea——AndroidStudio插件 鏈接:https://pan.baidu.com/s/1htl26qS 密碼:0pre
AndroidKiller V1.3.1.0
jdk1.8.0_171
2、安裝smaliidea插件
3、AndroidKiller分析apk
將目標apk文件拖入到AndroidKiller中分析,找到要調(diào)試APK的包名和入口的Activity
記住包名ctf.bobdylan 和入口的Activity名 ctf.bobbydylan.M
這里要注意一下 在application標簽里面要有 android:debuggable=“true” 這句代碼,沒有是不能調(diào)試apk的 現(xiàn)在調(diào)試的這個例子默認是有這句代碼的 有的apk中沒有這句代碼要自行添加上
然后找到該文件的工程目錄,此目錄將被AndroidStudio導入。
4、導入工程到AndroidStudio,以及AndroidStudio配置
可以直接導入上面的工程目錄,當時我們還是做個拷貝吧。
選擇整個工程目錄導入,然后一直保持默認配置點next即可,導入后切換到工程視圖。
選擇smali目錄作為資源目錄,見下圖
配置遠程調(diào)試的選項,選擇Run–>Edit Configurations 并增加一個Remote調(diào)試的調(diào)試選項,端口選擇:8700
5、監(jiān)聽端口:打開模擬器與Monitor
模擬器我這里選擇的是AndroidStudio自帶的,把自己要調(diào)試的APK安裝到手機模擬器中。
打開命令行 輸入命令 :
adb shell am start -D -n ctf.bobdylan/ctf.bobbydylan.M
對apk進行動態(tài)調(diào)試 這條命令運行后手機屏幕將會進入到調(diào)試界面(如果手機屏幕沒有進入到調(diào)試界面說明USB沒有連接好手機 或者USB調(diào)試模式 沒有打開 或者其他原因) ,手機將自動運行被調(diào)試App
因為新版AndroidStudio已經(jīng)在菜單中移除了Monitor,我們需要手動在SDK文件夾中找到Monitor,同時Monitor不支持JDK8以上的版本,比如JDK10。如下為我的Monitor路徑,請根據(jù)自己SDK安裝情況查找。
E:\Sdk\tools\lib\monitor-x86_64\monitor.exe
查看Android Device Monitor 記住下圖中Online對應(yīng)的值12863, 然后把Android Device Monitor關(guān)掉(這里一定要關(guān)掉,因為它會占用8700端口 導致后面轉(zhuǎn)發(fā)端口失敗)
6、附加進程
打開命令行窗口 輸入命令
adb forward tcp:8700 jdwp:12863
轉(zhuǎn)發(fā)8700 端口 (這里 jdwp是自己Android Device Monitor中要調(diào)試app的Online值 )
在Smali中下好斷點 斷點的意思是程序運行到下斷點的那行代碼就會斷下來 ,我們找到入口類ctf.bobbydylan.M"
下好斷點之后Run–>Attach to Local Process附加進程,這里的smali是我們之前配置好的調(diào)試選項
此時手機會進入程序 在手機上輸入用戶名和密碼 點登陸 程序會斷在我下的斷點處
單步調(diào)試為F8,運行為F9。
總結(jié)
以上是生活随笔為你收集整理的AndroidStudio动态调试smali的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 熊猫烧香变种病毒分析
- 下一篇: 安卓Crackme