前言
本工具是Smalidea的辅助工具。
Smalidea是一个无需重打包即可进行smali调试的插件,在逆向的时候,结合别的手段可以对目标有更深入的了解。
要使项目能够进行调试,以及进行必要的代码跳转,项目结构必须是插件中描述的这样:
project
--src
所有的smali文件被反编译后放置到src下,src在project下,然后以project为单位导入到AndroidStudio中(project名字可以随意,src名字也可以随意),然后将src标记为source root。这样AndroidStudio就能正确的构建项目了。
在实践过程中发现,对于multidex的apk,baksmali处理比较简单,只反编译的classes.dex,其他的没有处理。
鉴于以上的问题,以及简化反复的手工操作,于是便开发了这个工具。
SmaliDebugTool
此工具能够一键式由apk生成对应的可调试的smali项目,解决了项目结构问题,以及multidex问题。
原理见源码:https://github.com/difcareer/SmaliDebugTool
.
使用说明:
- clone项目,进入bin目录(里面已经有编译好的SmaliDebugTool.jar)
- 配置好Smalidea插件,参见Smalidea
- bin目录下执行如下命令
java -jar SmaliDebugTool.jar path/of/apk path/of/output
你将会看到如下输出:
将此项目导入AndroidStudio,将src标记为source root,即可进行调试。