Android本地存储数据的地方
内存
Internal StorageSQLite
Shared Preferences
内部存储-硬盘
外部存储(SDcard)
其它
如何读取
简单粗暴
adb shell
su root # 必须root
cd ...
内存
因为Android将应用程序存储在内存中(即使在使用后),直到内存被回收,加密密钥可能会保留在内存中。 发现或窃取设备的攻击者可以附加调试器并从应用程序转储内存,或者加载内核模块以转储内存中的全部内容。
如果应用程序容易出现缓冲区溢出,格式化字符串,数据泄露和其他漏洞,这可能是一个安全问题,这可能允许攻击者转储进程的内存以恢复敏感信息。
SQLite
读取 /data/data/[package name]/databases/[databasename.db]
Shared Preferences
该存储方式通常用来存储应用的配置信息
读取 /data/data/[package name]/[shared_prefs]
内部存储
不同手机位置稍微不同
/mnt/sdcard/Android/data/[package name]/cache
/mnt/sdcard/Android/data/[package name]/
/storage/emulated/0/android/data/
外部存储(SDcard)
/storage/*
其它
最后可以检查本地的其它地方的文件夹、文件是否有泄漏敏感信息,可以通过关键字检索的方式。
程序检测
程序检测的特征是什么呢?
检测哪里写入了文件,就报警。