- 博客(12)
- 收藏
- 关注
原创 某直聘app逆向sig算法学习
要补的环境不多,然后就可以写接口或者打包成jar包调用了,这里只做算法学习,sp的思路也是一样的,包括加密响应。这里我通过frida hook hashmap快速定位一下这两个参数所位于的调用栈。知道了so所在的位置,这里我们可以hook一下signature看看传入了什么参数。抓包定位到目标接口,发现响应体都是被加密的,然后发现了对应的两个加密参数,很容易定位到算法的位置,这里我们先看sig,进入a.h。发现是JNI方法,且往上看,这个jni方法的so名。apk版本:13.170。
2025-10-12 20:30:19
1506
原创 某读掌阅sign学习思路
这里其实是用的sha1+rsa算法,然后获取rsa密钥工厂,用来生成/解析密钥,这个hash方法跟进是jni代码,然后最终的结果进行base64编码,返回字符串,这里我先不分析JNI的代码,直接用原生的方法去对比看看。反编译apk定位sign位置,因为sign可能是字符串拼接来的,所以搜"&sign。会打印出私钥和对应的明文data和抓包对比一致那这个算法就解决了,最终结果如图。只记录学习思路的过程,需要算法具体细节的私信学习交流。查看是谁调用了c接口,只有类a实现了接口c。
2025-08-01 17:44:08
349
原创 xhs x-s
p是url后缀,u是请求参数data,这里f是由window._webmsxyw生成的,而不是encrypt_sign,长度不一样,别搞错了。这里采取补环境的方式来学习x-s算法,把window._webmsxyw的所有内容都扣下来,加上代理,开始补环境,代理代码如下。发现没有报错了, 出现了x-s,补充好了一些缺失的函数,但是发现长度不够,说明还需要补充一些环境。全局搜索x-s,定位到如图所示位置打上断点,这里的x-s是由v得,而v是通过f(p,u)得到。补充完后长度变成672位了这里请求接口请求成功。
2025-04-15 11:17:49
489
原创 某乎x-zse-96
点进encrypt,查看主逻辑也是个webpack,这里和81的处理方式一样,具体处理看我81的文章,扣下所在函数,把_type_of处理好,然后用v_jstools补上环境,这里给出主要部分代码。这里的tt是由zse93(请求头有)+dc0(cookie中)+x-zse-81+url parse的部分+""然后原生MD5加密而成,最终加上2.0_生成96。进入之后找到x-zse-96生成的位置,这里tt是个md5值。现在的问题是tt的生成,往上跟栈。全局搜索x-zse-96。
2025-03-31 21:45:16
524
4
原创 某乎x-zse-81
然后直接v_jstools工具补环境即可,然后拼接上3_2.0,长度要和浏览器一致,如果不一致要看是不是有什么环境检测点,需要源码学习交流请私信,如造成不良影响请联系删文,仅供学习用途。进入g.e2,发现是个webpack,这里把85773,也就是v所在函数全扣下来,不用全扣,不然代码量太大了。全局搜索x-zst-81,然后js文件内搜索xZst81定位到81生成位置。q则是R函数,进入R函数,找到了81生成的最终位置,x就是这个拼接后的d。这里d、f是固定的,ei是变化值,先写死。打断点控制台还原就行。
2025-03-31 18:58:03
927
原创 某头条a_bogus
然后运行代码,发现没有报错了,出现a_bogus,但是长度不敌,正常应该是168,所以继续看还有哪里需要补。发现168位长度的a_bogus长度不变,于是可以加个条件断点,当d.length==168的时候断下。以上代码仅供学习参考和学习使用,切不要用于非法用途,有不良影响请和我联系,需要源码学习可私信学习交流。补上window后发现报错,说明可能是哪些环境有影响到,所以挂上代理。u是入参,然后看函数s做了什么操作,跟进s。发现核心是这个u,需要解决._v 和._u。请求成功,注意,传参要和浏览器的一致。
2025-03-30 22:27:59
924
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅