缓存定位
我们就以应用市场最新版下载的抖音为例,先将app下载并登陆运行,使用adb命令查看包名:
adb shell dumpsys activity | findstr “Focus”
mFocusedActivity: ActivityRecord{e849588 u0 com.ss.android.ugc.aweme/.splash.SplashActivity t125}
mFocusedStack=ActivityStack{bd6838 stackId=1, 5 tasks} mLastFocusedStack=ActivityStack{bd6838 stackId=1, 5 tasks}
确认好包名后,那么缓存路径就能知道是 /data/data/com.ss.android.ugc.aweme/shared_prefs
再通过adb pull 命令就它导出到本地电脑上进行进一步的分析。
配置抓包
实际上在分析之前,因为我们不懂哪些信息是有用的,所以应当先抓包确认所需的信息。
这里我直接使用charles进行抓包,这里就不详细陈述怎么配置抓包过程,具体可百度查询相关详细资料。
这里就以个人资料接口为抓取目标。
分析接口
这里直接查看url的详细参数以及header的附加协议头信息,这里有过抖音相关分析经验的可以直接看到,关键参数既有以下几条:
| 参数 | 备注 |
|---|---|
| device_id | 区分手机的设备ID |
| install_id | 安装app时生成的id |
| x-tt-token | 用户的登陆token |
| sessionId | 用户的登陆令牌 |
那么url后面的参数基本上我们可以知道都是手机的相关属性,如品牌型号,分辨率,dpi以及mac地址等,这些都可以通过相关Android的对应功能获取。
确认我们需要的参数后,可以通过文件内容查找等工具进行确认缓存的所在位置,这里我直接使用xsearch_CHS进行搜索,我们直接搜索device_id的值,就能够确认缓存文件位置了。
这里能够看到给出很多搜索结果,我们可以挨个打开选取格式排版较好的作为最终文件定位
我们可以看到applog_stats.xml就很不错,并且还包含了其它我们需要的参数(如install_id)。
按照以上的方法在搜索一下x-tt-token位置定位在了token_shared_preference.xml文件。
这样我们就成功完成了手工提取缓存的步骤了,这里我也完成了成品的开发。
最后
最后也欢迎各位热爱Android逆向的小伙伴一起来群内交流探讨:630652561