1、Android应用常打印日志,一般通过一个静态编译字段来控制是否打印网络请求日志。
我们先随便举例一个app。XXX云APP。在使用logcat监听,刷新APP看不到任何的网络数据,接下来我们进行smali修改,进行查看日志(仅供学习,请不要滥用)
左图logcat,右图是某某模拟器。
接下来我们就需要使用分析器,NP管理器。自行网上查看我就不提供的了。
1、通过管理器进入,找到你的原装apk->左键->查看->随便选中一个classes(数字).dex->dex编辑Plus->全选->确定->
2、通过分析找到了日志开关,采用的静态布尔型控制日志!现在我们开始处理,我们现在让Debug=true就行了!
3、切换Mlog.smali语法,因为我们是需要操作静态变量,所以找到static constructor :
4、.line 16就是我们需要操作的代码
sget-boolean v0, Lcom/dly/config/AppConfig;->IsDeBug:Z (读取AppConfig.isDebug的变量,复)
sput-boolean v0, Lcom/dly/utils/MLog;->DEBUG:Z(给MLog.DEBUG 设置值,值为v0)
接下来我们进行简单修改一下!按理说以后就会出现xiugai _debug数据了!切换java源代码,源码也已经被修改了。接下来返回保存
5、安装保存,在打开APP就能看到日志了。只是提供方法供学习使用!不局限于修改日志显示