自识别类名 自动化Hook JustTrustMe 升级版(2)
2023-11-29 来源:百合文库
检测证书就那几种办法 就拿常用的 okHttp框架来说
我想了很久,通过什么办法定位,字符串搜索,opcode,字符串搜索还需要写一个文件管理器,类似MT那种搜索smali文件,根据特征字符串,麻烦,opcode虽然一样,但是操作数不一样,String在dex里面的index不同,导致操作数不同,有一天忽然灵光一现,可以遍历app当前系统的classloader里面全部的类名,找到和okHttp有关系的类名,根据类的一些特征,比如,父类对象名字,接口信息, 字段信息,方法参数信息,每一个参数的类型,
我是在application的oncreate后面执行的遍历,这个时候壳的dex已经释放到内存里,原版本 JustTrustMe 是在attach里面,这个方法很多壳没有进行解密,所以也会失效,(外国壳很少,可能没考虑到吧)
比如获取 OkHttpClient 来说
大家 可以 找一下他的 特征 接口类是三个 6个 集合类型 ,四个final类型 另外两个是 final并且是 static类型 并且 在 okHttp 包下就可以完美定位到 这个类的 名字
我想了很久,通过什么办法定位,字符串搜索,opcode,字符串搜索还需要写一个文件管理器,类似MT那种搜索smali文件,根据特征字符串,麻烦,opcode虽然一样,但是操作数不一样,String在dex里面的index不同,导致操作数不同,有一天忽然灵光一现,可以遍历app当前系统的classloader里面全部的类名,找到和okHttp有关系的类名,根据类的一些特征,比如,父类对象名字,接口信息, 字段信息,方法参数信息,每一个参数的类型,
我是在application的oncreate后面执行的遍历,这个时候壳的dex已经释放到内存里,原版本 JustTrustMe 是在attach里面,这个方法很多壳没有进行解密,所以也会失效,(外国壳很少,可能没考虑到吧)
比如获取 OkHttpClient 来说
大家 可以 找一下他的 特征 接口类是三个 6个 集合类型 ,四个final类型 另外两个是 final并且是 static类型 并且 在 okHttp 包下就可以完美定位到 这个类的 名字