逆向 x品会 api_sign

逆向 x品会 api_sign

版本 7.88.6

帖子底部有参考说明

charles 抓包

目标字段 api_sign
在这里插入图片描述

api_sign

搜索关键字
在这里插入图片描述

跟进找到是api_sign >>> KeyInfo native gsNav 方法
private static native String gsNav(Context context, Map<String, String> map, String str, boolean z);
在这里插入图片描述
###########
在这里插入图片描述
################
在这里插入图片描述

导出 keyinfo.so 用ida分析

定位
在这里插入图片描述

算法 hash1

跟进 找到hash1算法
在这里插入图片描述

动态调试
具体几次sha1加密,有无加盐,拼接的字符串长啥样

用frida hook [Functions_gs > hookj_getByteHash] 方法

通过hook可知 俩次的头部都出现[aee4c425dbb2288b80c71347cc37d04b]这个固定字符串 可能是一段salt

  • 测试:
  1. 通过charles把map获取,通过UrlDecode转换一下
  2. 验证第一次sha1 将salt+拼接的字符串进行一次sha1
  3. 然后sha1结果拼接salt再进行一次sha1
    在这里插入图片描述

加解密在线工具 网站

加解密在线工具 网站

ida 代码翻译不全处理

  • 如图
    在这里插入图片描述
  1. 右键选择 hide casts
  2. File–>Load File–>Prase C Header File–>选择jni.h
  3. 点到 a1 右键 convert to struct * //转换到结构体指针 再选择 _JNIEnv

猜你喜欢

转载自blog.csdn.net/l331258747/article/details/129147191