吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 4247|回复: 13
收起左侧

[Web逆向] 某乎x-zse-96签名算法python重写

[复制链接]
天空宫阙 发表于 2022-5-4 16:49

某乎x-zse-96签名算法python重写

具体的分析小小白大佬已经分析的非常详细了,就是按这个方法就可以得到最后的签名算法

https://mp.weixin.qq.com/s/sVDHQeRY-774Jw70k7mINQ

网站

aHR0cHM6Ly93d3cuemhpaHUuY29tL3NlYXJjaD90eXBlPWNvbnRlbnQmcT1weXRob24=

签名的总体流程

source:101_3_2.0+/api/v4/search_v3?t=general&q=office&correction=1&offset=0&limit=20&filter_fields=&lc_idx=0&show_all_topics=0&search_source=Normal+"APAdT9SE4hSPTk_l1utlpb-FN6jTF5TgpSY=|1651578807"

signature:sign(md5(source))
sign方法

  1. md5(source) 后的字符串末尾补\u0000 通过charCodeAt从末尾开始得到3个数字一组的数字
    1. 3个数字作为参数通过4种位运算得到一个大数m
    2. fixed_str = "RuPtXwxpThIZ0qyz_9fYLCOV8B1mMGKs7UnFHgN3iDaWAJE-Qrk2ecSo6bjd4vl5"
      4个数字一组通过索引固定的字符串得到每组的四个字符, 比如任意一组的4个字符分别是 fixed_str[m % 64],fixed_str[(m >> 6) % 64],fixed_str[(m >> 12) % 64],fixed_str[(m >> 18) % 64]
    3. 拼接所有得到的字符串得到最后的签名

四种位运算的方式

def m1(a, b, c): return ((a ^ 42) | (b << 8)) | (c << 16)
def m2(a, b, c): return (a | ((b ^ 42) << 8)) | (c << 16)
def m3(a, b, c): return (a | (b << 8)) | ((c ^ 42) << 16)
def m4(a, b, c): return (a | (b << 8)) | (c << 16)

其中第一组的a,b,c 分别为a = ord(md5_str[32]) ``b = ord(md5_str[31]) ``c = ord(md5_str[30]),后面的以此类推

补充知识学习

返回字符串字符的 Unicode 编码

// JavaScript
string.charCodeAt(index)
// python
ord(string[index])

位运算

含义 符号 例子
a & b 0011 & 1011 = 0011
a | b 0011 | 1011 = 1011
异或 a ^ b 0011 ^ 1011 = 1000
左移 a <<b 0011 <<  2  = 1100
右移 a >> b 1100 >> 2 =  0011

另外发现B站的这个教程把位运算讲的既明白又有趣【《算法零基础入门》位运算-哔哩哔哩】 https://b23.tv/k2WoXqR

成功留念

image-20220504161842675.png

源码

想了好久要不要放源码,最后放上来好了,不然怎么装一个具体的逼呢!

https://github.com/skygongque/Spider/blob/master/09-%E7%9F%A5%E4%B9%8Ex-zse-96(jsvmp%20%E6%8F%92%E6%A1%A9%E8%BF%98%E5%8E%9F%E7%AE%97%E6%B3%95)/main.py

注意
代码仅用于科研学习之用,禁止商用,否则造成的后果与本人无关
另外除了x-zse-96外,cookie和其他参数可以短时间固定,但有时会出现x-zst-81参数

免费评分

参与人数 7威望 +1 吾爱币 +25 热心值 +7 收起 理由
zjjszmx + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
涛之雨 + 1 + 20 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
xiong930626 + 1 + 1 用心讨论,共获提升!
cyx94a + 1 + 1 我很赞同!
开心的一逼 + 1 + 1 我很赞同!
笙若 + 1 + 1 谢谢@Thanks!
WJF12321 + 1 谢谢@Thanks!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

cuilongjin 发表于 2022-6-4 16:36
大佬  “JavaScript逆向系列课+高阶课‘’ 这个帖子的资源能分享一下吗,那个帖子下不能回复了
苏晓宇c 发表于 2022-5-4 17:03
XiaoZouYu 发表于 2022-5-4 17:06
yc0205 发表于 2022-5-4 17:31
厉害厉害厉害ING
头像被屏蔽
xiadongming 发表于 2022-5-4 17:33
提示: 作者被禁止或删除 内容自动屏蔽
wuaikirin 发表于 2022-5-4 18:55
厉害了,大佬
Lrxtx 发表于 2022-5-4 23:20
厉害厉害厉害ING
Tovgik 发表于 2022-5-5 12:07
感谢大佬分享

xiong930626 发表于 2022-5-5 14:15
牛蛙~感谢分享
WeCat007 发表于 2022-5-5 15:51
厉害,学习一下
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-24 09:26

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表