我們知道很多apk光是靜态調試時遠遠滿足不了我們對apk的分析,這個時候,我們就需要來一波靜态調試。
此處為個人筆記,也為入門小白引路,這裡就不看結果了,主要是教大家怎麼結合調試。
起因是昨天剛看了動态調試的方法,我就想來試試。結果電腦上隻有Android studio。好吧,那我就百度了Android studio的調試。然後用模拟器,結果那個模拟器太惱火了,慢死人,還卡。(學生黨,隻能苦逼用低配筆記本)然後身邊唯一一根資料線居然罷工。沒辦法,後來突然想起來,藍疊模拟器很快了,可不可以試試。于是就有了下文。好了,不廢話了,進入正題。
一、工具
毫無疑問:Android studio(附帶SDK,這個不多說) 藍疊
然後有個大家可能大家不知道的東西 smalidea 這個百度一大堆。我就不多說了,自己去下一個就是了
然後一個反編譯的工具 jeb apkIDE AndroidKiller等等,都可以
我用的是jeb
二、環境
1.java那些環境我想這個不應該說了,然後就是adb的環境,最好是加到環境配置中去,友善,省事。
2.smalidea 這個是配置到Android studio的,配置了才能看smali檔案
具體步驟:
然後選擇你本地smalidea檔案,這裡說一句,最好不要有中文路徑。也行不一定會出問題,但是不一定不會出問題。
這個樣子就是OK了
一般會重新開機一下Android studio
三、準備
這部分是反編譯出檔案,然後導入到Android studio中去。
我這裡用的jeb反編譯的,各位請用自己喜歡的,都可以哈。
看到反編譯成功,我們就去把檔案提取出來
這裡最好是也是不要放中文路徑最好
接來下比較重要,一步一步操作。
然後選擇我們放進去的反編譯的檔案夾
然後點那個三角
添加一個remote
名字随便取,端口号為8700
之後我們打開cmd。進行adb的安裝
adb install -r apk的位置\apk全名
看到succe就知道成功了,藍疊也會有提示的(一直預設藍疊是開啟的,沒開的我就無語了)
然後進去調試狀态
adb shell am start -D -n packageName/ActivityName
藍疊也會這樣顯示
說明進入了調試狀态,這個時候千萬不要去點Force Close
四、進入調試
進入調試之前我們還需要去monitor看看我們是否端口号給正确了。
點選我們需要調試的apk包名,把8700端口給它
然後我們就可以調試了
這個時候我們需要去源碼看看我們在哪裡下斷點了。這裡就不多說了
我直接點斷點了。在這行代碼前面點一下,就斷好了
然後點上面那個就可以進行調試了
下面是我們的資訊地方,我們可以點加,進行添加寄存器
最後就可以進行調試,看看寄存器的值的變化了。F7是進入方法,F8是單步。