2025年云汉芯城js逆向分析-v,t,s参数

云汉芯城js逆向分析-v,t,s参数介绍 查看搜索的接口 很明显需要这几个参数 keyword 2N7002 搜索输入的关键词 font ident 945a41f33fc9 如下图 第一次访问的页面 返回的 html 里找 v 165579962766 时间戳

大家好,我是讯享网,很高兴认识大家。

云汉芯城js逆向分析
讯享网

介绍

查看搜索的接口,很明显需要这几个参数

{ 
    keyword: "2N7002",//搜索输入的关键词 font_ident: "945a41f33fc9693c", //如下图,第一次访问的页面 返回的html里找 v: "69" //时间戳 t: "8" //加密1 s: "8fc0bf84f" //加密2 } 

讯享网

在这里插入图片描述

加密分析

这种一大坨代码的,我最喜欢的是通过xhr - 启动器 根据Ajax往上跟栈
在这里插入图片描述
在这里插入图片描述
这里看到n就是要发送的数据,下断点后 参数有在这,n是函数的参数,所以再往上看谁调用的它(看谁传的)
搜索得到 this.currentParams = a.deserializeParams(this.options.remote.params)
黑脸怪
this.options又等于t.extend(!0, {}, o, t.fn.pagination.defaults, i) i是上面传过来的
在这里插入图片描述
懒得写了,直接一直往上跟,跟到混淆的那地方
在这里插入图片描述
这里偷懒大法 神技-ast(只解了个大数组就好看多了)
很明显 这里就到站了。
在这里插入图片描述

讯享网_0x36dfe8['v'] = JSON["stringify"](new Date()["getTime"]()); 4 == _0xc145e3["pageType"] && (_0x36dfe8["search_type"] = 1); '{}' !== JSON["stringify"](_0xc145e3["filterParams"]) && (_0x36dfe8["se_item"] = _0xc145e3["se_item"], _0x36dfe8["params"] = _0xc145e3["filterParams"]); _0x36dfe8 = _0x3ea76b["getSpecialKey"](_0x36dfe8); 

这里 获取了v之后,对象_0x36dfe8就改变了,看到是进行了getSpecialKey函数的操作,所以这行下断点,再单步走进去看。
俩参数就在这里完成的
下面就要开始把js代码扣下来用了。
在这里插入图片描述

扣代码
 times_int = int(times) // times是时间戳 _0x5d4ff8 = 0 _0x24ee4f = times[len(times) - 1:] print(_0x24ee4f) s = str(math.ceil(times_int / int(_0x24ee4f))) 

现在讲扣js代码吧
全选代码复制粘贴到notepad++
折叠,搜索,改写
在这里插入图片描述
主要的生成函数 在_0x54521b 对象里,理论只要把它弄下来就好
但是 因为混淆的,还要扣大数组啊,解密函数啊,Object啊
我用的ast解版,所以 偷懒了
思路:
1.这个自执行,_0x54521b是传入的参数,这里去掉自执行函数改写_0x54521b 定义空对象
然后window肯定要带上的。
在这里插入图片描述
2.改写t和s的返回方式
在这里插入图片描述
3.就这样跑一下代码,会提示_0x39a116未定义,去网站代码复制一下这个对象
这是个混淆的,增加你代码阅读难度,,可以用ast解。。这里直接复制吧
在这里插入图片描述
再跑一下,应该就差最后一个了 ,提示_0x54521b.md5未定义还是啥来着
这里去补一下魔改的md5代码,
想直接从网站扣的,哎,难顶 太难扣了,直接找个通用的吧
在这里插入图片描述
这两个值被改了,改写,再补到对象上,再小小的修改下代码就完成了。
在这里插入图片描述

小讯
上一篇 2025-02-13 21:16
下一篇 2025-03-07 17:08

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/39793.html