1、准备内容:
1.1、新建Android Studio项目,用于Smali增加日志处理代码,并生成apk;(logcatCrackDemo项目)
1.2、新建Android Studio项目,并编写MyLog.java代码,并生成apk;(logcatDemo项目)
2、通过ApkIDE修改Smali代码,增加日志输出;
2.1、ApkIDE打开logcatdemo项目,点击MyLog.smali,右键打开文件夹;
2.2、在文件夹目录下,拷贝MyLog.smali至logcatCrackDemo的smali文件夹的根目录,并在ApkIDE中刷新smali文件夹;
2.3、添加代码;
2.3.1、修改MyLog.smali代码,由于已经将MyLog.smali放到了smali根目录下,因此需要处理把MyLog代码里的命名空间删除;
删除后
2.3.2、从logcatdemo中的MainActivity.smali中拷贝,MyLog调用方法;
2.3.3、上一步拷贝的代码,放入logcatCrackDemo的MainActivity.smali文件中,并保存;
2.3.4、重新生成Apk,并安装;
3、用logcat读取日志
打开命令行输入:adb logcat -s SQ;
手机打开App即可见到日志信息
4、备注
在加代码的时候需要注意的是:
在invoke-static/invoke-virtual指令返回类型是V之后可以加入;
在invoke-static/invoke-virtual指令返回类型不是V,那么在move-result-object命令之后可以加入。