静态分析Smali添加日志

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: 如何动手实现Smali添加日志

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

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
目录
相关文章
|
安全 Android开发
反编译之利用AndroidStudio动态调试smali源码2
反编译之利用AndroidStudio动态调试smali源码
|
Java Android开发
反编译之利用AndroidStudio动态调试smali源码1
反编译之利用AndroidStudio动态调试smali源码
|
Java Android开发
Eclipse配置反编译插件jadclipse(内容有部分纠正)
Eclipse配置反编译插件jadclipse(内容有部分纠正) Jad是一个Java的一个反编译工具,是用命令行执行,和通常JDK自带的java,javac命令是一样的。不过因为是控制台运行,所以用起来不太方便。
1639 0