通过抖音APP缓存提取token解析

发布于 21 天前  108 次阅读


  • 缓存定位
  • 配置抓包
  • 分析接口
  • 最后

缓存定位

我们就以应用市场最新版下载的抖音为例,先将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文件。这样我们就成功完成了手工提取缓存的步骤了,这里我也完成了成品的开发。


我喜欢你我喜欢你,世界上美好的东西不太多,立秋傍晚从河对岸吹来的风,和二十来岁笑起来要人命的你。