为什么要看调试信息
在对apk包测试安全的时候,可以使用Android Studio的Locat功能查看一下这个apk包的调试信息,主要是查看APK发布版本为release版本时,是否输出带有敏感数据的调试信息。
环境准备
Android Studio
华为手机
华为手机连接PC需要安装华为自家的程序“华为手机助手”某apk包
xxx.apk (只能是Android debug包,因为打了release包,是不会输出日志了)
使用流程
能正常使用Android Studio是接下来流程的前提。
- 选择Logcat面板
- 选择你的apk包名
这里一般只能选择 Android debug 包,同一个包有以下两种信息输出:
com.xxx.xxx 选择查看该应用程序的输出信息
com.xxx.xxx : pushservice 选择查看该应用程序的推送输出信息 - 选择输出信息的等级(androi调试输出分为5个级别,详细请查百度)
3-1. [V]:详细(Verbose)信息,输出颜色为黑色
3-2. [D]:调试(Debug)信息,输出颜色是蓝色
3-3. [I]:通告(Info)信息,输出颜色为绿色
3-4. [W]:警告(Warn)信息,输出颜色为橙色
3-5. [E]:错误(Error)信息,输出颜色为红色 - 默认先选择 Show only selected application ,表示只看这个应用程序的输出(过滤后面说)
这里输出一些通告信息、警告信息、错误信息,其中错误信息是OkHttp这个组件报错输出的,可以通过这个报错信息里面保存的日志文件,查看里面是否有程序的敏感信息输出。
Edit Filter Configuration
Fileter Name 得先写一个名字,保存;
勾选了Regex 表示可以正则匹配;
这里案例只匹配 "log"字符,表示只输出包含"log"字符标签的全部输出信息,并显示在logcat面板。
Log Tag 和 Log Message 的区别在哪?
我们先看看 Android是怎么输出调试信息的:
protected void onStart() {
super.onStart();
Log.i("log001", "output string hello world");
}
// Log.i 就是是上面说的I等级。(通告(Info)信息,输出颜色为绿色)
// log001 就是输出信息时自定义的一个标签,我这里定义为log001
// "output string hello world" 就是message信息
了解了Log Tag ,那么理解Log Message 也不难了,Log Message 就是指输出的实体的输出信息,详细如下图: