前言
本工具是Smalidea的輔助工具刽虹。
Smalidea是一個(gè)無需重打包即可進(jìn)行smali調(diào)試的插件听诸,在逆向的時(shí)候送讲,結(jié)合別的手段可以對目標(biāo)有更深入的了解。
要使項(xiàng)目能夠進(jìn)行調(diào)試痕檬,以及進(jìn)行必要的代碼跳轉(zhuǎn),項(xiàng)目結(jié)構(gòu)必須是插件中描述的這樣:
project
--src
所有的smali文件被反編譯后放置到src下送浊,src在project下梦谜,然后以project為單位導(dǎo)入到AndroidStudio中(project名字可以隨意,src名字也可以隨意),然后將src標(biāo)記為source root改淑。這樣AndroidStudio就能正確的構(gòu)建項(xiàng)目了碍岔。
在實(shí)踐過程中發(fā)現(xiàn),對于multidex的apk朵夏,baksmali處理比較簡單蔼啦,只反編譯的classes.dex,其他的沒有處理仰猖。
鑒于以上的問題捏肢,以及簡化反復(fù)的手工操作,于是便開發(fā)了這個(gè)工具饥侵。
SmaliDebugTool
此工具能夠一鍵式由apk生成對應(yīng)的可調(diào)試的smali項(xiàng)目鸵赫,解決了項(xiàng)目結(jié)構(gòu)問題,以及multidex問題躏升。
原理見源碼:https://github.com/difcareer/SmaliDebugTool
.
使用說明:
- clone項(xiàng)目辩棒,進(jìn)入bin目錄(里面已經(jīng)有編譯好的SmaliDebugTool.jar)
- 配置好Smalidea插件,參見Smalidea
- bin目錄下執(zhí)行如下命令
java -jar SmaliDebugTool.jar path/of/apk path/of/output
你將會看到如下輸出:
將此項(xiàng)目導(dǎo)入AndroidStudio膨疏,將src標(biāo)記為source root一睁,即可進(jìn)行調(diào)試。