吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 3601|回复: 36
收起左侧

[Web逆向] 【JS逆向系列】某乎__zse_ck参数js与wasm多重套娃地狱级(右篇)

  [复制链接]
漁滒 发表于 2024-10-9 18:01

@TOC

wasm层vm分析

既然wasm暂时无法搜索到结果,那么先返回js继续分析分析

从之前的版本可以猜测到,wasm中肯定调用了很多js层的环境内容,那么这里肯定就会调用各个导入函数,但是胶水代码又是在jsvmp中,没有办法直接下断点。

而在上一篇中反汇编的代码可以看到,胶水代码会被绑定到window.Go上面,那么就可以在胶水代码执行完成之后,wasm加载之前下断点

001.jpg

就可以通过window.Go看到里面的内容

002.jpg

003.jpg

往下拉在【syscall/js.valueGet】函数内下一个断点,就可以大概看到从js获取了什么内容

004.jpg

多次调用后,会发现堆栈中不断出现【(*main.VM)】前缀的函数

005.jpg

那么不排除wasm中存在一个自己实现的vm

那么在wasm中查看首次断下的【runtime.run$1$gowrapper】函数

006.jpg

这里出现了两次【syscall/js.valueGet】,与网页断点调试出现的堆栈信息是一致的

007.jpg

再往下,出现了一个base64解码的函数,地址是0x11428,长度是15160,从wasm中查看这部分内存

008.jpg

这部分进行base64解码之后,发现还是一堆乱码。那么很大概率这里就是wasm中vm的字节码了

继续根据wasm的逻辑,就是进行这部分字节码的解析,解析部分与js层的vmp非常类似

009.jpg

最终可以得到一个2329长度的大数组,以及一个90长度的字符串数组

那么解析部分与js层类似,那么运行逻辑会不会也是类似呢?

分析后发现【runtime.run$1$gowrapper】函数就是主循环函数,【(*main.VM)】前缀的函数就是子函数组,子函数里面的每一个case就是具体逻辑

但是wasm中的每一个case运行的内容与js相比明显难理解一些

所以无论是编写解释器难度会变高,想在里面插桩分析,自然难度也一样变高

搞不定就喊爹,经过某群聊大佬【Code】的帮助,才成功对整个流程进行反汇编

010.jpg

前面部分还是在不断的进行环境校验,并设置假的ck

后面new了一个非常长的Function,然后里面居然还是一个jsvmp,好家伙,搁着套娃呢

为什么说非常长,反汇编发现大数组长度达到了8000+,而且里面所有的代码均为环境检测

011.jpg

012.jpg

最后将加密后的环境信息绑定到__g.r进行返回

013.jpg

内容主要分为6部分,并使用"\xE2\x80\x8D"进行分割

wasm中vm后面的逻辑就是拿到这部分加密的环境信息,然后解密,再在vm内进行一些检测,取一部分作为明文

接着vm再做一些其他的环境检测(jsvmp中没有的),也作为明文的一部分

最后再取ua的crc32与前面两项拼接,作为最终的明文

014.jpg

明文的拼接与上一个版本格式上是一模一样的,只是环境部分的值不一样

sub_988就是最终的加密函数,与之前一样,框架上也是使用的sm4,但是一样是经过了不同程度的魔改,然后经过一个魔改过得base64编码,形成了最终的ck

整理一下思路如下图

015.jpg

使用python还原出所有算法测试

016.jpg

中文没有乱码完美

其他

之前版本只是使用了wasm,而更新后甚至在wasm中玩起了vm,也有的wasm出现了不同程度的混淆。按照这么发展,web逆向也是越来越难

搞不动了,去注册骑手了!!

免费评分

参与人数 21威望 +1 吾爱币 +56 热心值 +20 收起 理由
foxyier + 1 + 1 谢谢@Thanks!
littlewhite11 + 1 + 1 我很赞同!
fengbolee + 2 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
taobaogd + 1 我很赞同!
1783780690 + 1 + 1 谢谢@Thanks!
greendays + 1 + 1 谢谢@Thanks!
好好学习多挣钱 + 1 + 1 我很赞同!
allspark + 1 + 1 用心讨论,共获提升!
涛之雨 + 1 + 20 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
逍遥一仙 + 4 + 1 我很赞同!
thinkpad_420 + 1 + 1 大佬真厉害
悦来客栈的老板 + 1 + 1 谢谢@Thanks!
HillBoom + 1 + 1 用心讨论,共获提升!
兜兜风f + 4 + 1 用心讨论,共获提升!
OVVO + 2 + 1 漁滒我爱你
xhtdtk + 2 + 1 我很赞同!
TFBOYS_GDW + 1 + 1 用心讨论,共获提升!
lihuhu + 1 我很赞同!
liuxuming3303 + 1 + 1 谢谢@Thanks!
正己 + 7 + 1 import 漁滒
K哥爬虫 + 3 + 1 666

查看全部评分

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

qiuku123 发表于 2024-10-9 18:15
看不懂,太强了
YIUA 发表于 2024-10-9 18:21
creaturenothing 发表于 2024-10-9 18:22
Botton 发表于 2024-10-9 18:35
我就知道没有鱼哥搞不定的
smile789 发表于 2024-10-9 20:32
越来越不好搞了
lihuhu 发表于 2024-10-9 22:00
太强了,膜拜
xhtdtk 发表于 2024-10-9 22:33
大佬这么坚持不懈,而我只配享受结果
linix 发表于 2024-10-10 08:05
mark一下,感谢大佬分享,有空时好好学习一下
索马里的海贼 发表于 2024-10-10 08:28
大佬有没有研究过小程序wx.login获取的code是如何生成的
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

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

GMT+8, 2024-12-22 19:11

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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