type
status
date
slug
summary
tags
category
icon
password
一、分析执行流程
版本:djYuOTcuMA==
查看java代码,发现首先执行了initializeNative,intercept的第二个参数是,initialize获取到的,所有执行过程如下。
initializeNative()---->cPtr = initialize(str)----->intercept(Interceptor.Chain chain, long j2)
二、Unidbg
框架搭好,尝试运行,缺啥补啥。
初步运行没有问题。
构建initializeNative函数,运行,报错,缺啥补啥。
补环境的时候回遇到一个getSharedPreferences,SharedPreferences是一种轻型的数据存储方式,它的本质是基于XML文件存储key-value键值对数据,通常用来存储一些简单的配置信息。其存储位置在/data/data/<包名>/shared_prefs目录下。
通过输出可证明,在/data/data/com.xingin.xhs/shared_prefs这个目录下有个s.xml文件,然后取里面值,使用adb找到文件所在。
比较要注意的几个点:整个执行过程中,有很多要对Request进行操作的,所以要初始化好,方便操作,有一些不动的方法,就去文档查询在做什么操作。
最后的最后补完环境。
完整代码放在知识星球,关键词为xiao。
- 本案例仅做分析参考,如有侵权请联系删除
- 作者:404False
- 链接:https://blog.404nofoundx.top//article/4ed53721-eb40-47e3-83af-21a417d05bcf
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。