吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 5403|回复: 49
收起左侧

[Web逆向] 某老板直聘四层switch反混淆

  [复制链接]
woainixiang 发表于 2025-11-17 09:57
老板直聘作为另一类型的多层switch混淆的代表还是很有研究价值的,主要的特点就是switch起始index是不固定的,是调用的时候传参确定的,传不同的index,那么就运行不同的代码。
先上链接:aHR0cHM6Ly93d3cuemhpcGluLmNvbS93dWhhbi8/a2E9Y2l0eS1zaXRlcy0xMDEyMDAxMDA=,这个站chrome是抓不到包的,需要用fiddler抓包,先开启fiddler,然后打开网页直接找security-check.html这里是调用ABC生成cookie __zp_stoken__的地方,先用fidder替换掉这个文件,然后在调用处加上debugger。
屏幕截图 2025-11-15 133131.png

接着要找的第二个文件就是security-js文件夹下的js文件。后面的js文件名是一个随机的字符串,每天会变。
屏幕截图 2025-11-15 133332.png

将js文件复制出来就可以看到整个混淆过后的js代码了。初步分析整个代码,选每一层的第一个switch和第一个case展开后开始分析,最内层的case代码运行后会一层一层的break返回最外层,而不会在中间的某一层停留,同样的如果最内层有return,那么也会一层一层的返回到最外层,而不会在中间层处理。
那么可以认定整个switch由最外层的参数控制,可以将整个switch处理成只有最外层参数的一层switch.
屏幕截图 2025-11-15 140522.png

整个文件的操作思路和阿里的231一致,首先收集到所有w的值,然后在最内层的case中插入收集进入这个case时w的值的代码,最后删掉case中其他的语句,只留下插入的代码和break语句。首先收集W的值
屏幕截图 2025-11-15 204117.png

然后插入代码
屏幕截图 2025-11-15 205025.png

最后删掉多余代码
屏幕截图 2025-11-15 203956.png

将整个switch复制出去放在for循环中执行,得到每个case_index_X对应的w的值
屏幕截图 2025-11-15 204613.png

得到映射结果。
屏幕截图 2025-11-15 204744.png

根据映射结果将switch还原为一个switch.
屏幕截图 2025-11-15 205025.png

删掉插入的代码,并将switch还原成顺序代码。
屏幕截图 2025-11-16 134516.png

这只是还原了部分代码,后面还有一个函数也是同样的结构,当然也可以用同样的方法还原,需要注意的是后面函数的部分case index的值是在函数的call中的,只单纯收集函数内case index的值是不够的。
屏幕截图 2025-11-16 135124.png

将函数内的swtich还原成一层switch后代码是没法运行的,替换原网页的代码后也会报错,原因也很简单,原来的多层switch将变量隔离的,当还原后变量的作用域提升了,导致变量污染。
当然解决这个问题也很简单,这样的多入口的switch本质是将多个函数融合在了一个函数中,然后用多层的switch将变量隔离开,要彻底还原这个switch只需要以每个入口的index作为起始值,用ast将switch遍历一遍,把每个经过的case取出来然后生成一个新的函数就可以了。
最后看一眼解开所有switch之后的结果
屏幕截图 2025-11-17 011655.png

懒得扣代码了,直接放将js带入网页的结果
屏幕截图 2025-11-17 011926.png

免费评分

参与人数 24威望 +2 吾爱币 +121 热心值 +22 收起 理由
wangxiao777 + 1 + 1 热心回复!
Oxegjxeg + 1 + 1 我很赞同!
Dove702 + 1 + 1 用心讨论,共获提升!
gongxifacai123 + 1 + 1 谢谢@Thanks!
soyiC + 1 + 1 热心回复!
rightaway + 1 热心回复!
InfiniteBoy + 1 用心讨论,共获提升!
dandan946 + 1 + 1 我很赞同!
zgy123 + 1 + 1 谢谢@Thanks!
amtian + 1 + 1 谢谢@Thanks!
fengbin8606 + 1 + 1 热心回复!
Rhongomyniad + 1 + 1 用心讨论,共获提升!
CXL123456 + 1 + 1 热心回复!
QI6487 + 1 很有价值了
linllz + 1 热心回复!
gaosld + 1 + 1 热心回复!
wumochunqiu + 1 + 1 用心讨论,共获提升!
thinkpad_420 + 1 + 1 热心回复!
fengyie007 + 1 + 1 用心讨论,共获提升!
涛之雨 + 2 + 100 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
liuxuming3303 + 1 + 1 谢谢@Thanks!
buluo533 + 1 + 1 用心讨论,共获提升!
悦来客栈的老板 + 1 + 1 用心讨论,共获提升!
helian147 + 1 + 1 热心回复!

查看全部评分

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

头像被屏蔽
 楼主| woainixiang 发表于 2025-11-17 20:48
提示: 该帖被管理员或版主屏蔽
Whoisethan 发表于 2025-11-22 22:01
粗略看了一下全文,也到提供的网址看了一下。没有找到这个同样的js。然后又看了一下楼主的思路,感觉文字和图不好直接对应。建议后续图片可以加一些标注。

另外,我测试了一下该站点的其他网页,在源代码里面有看到同目录下不同名字的js。由于也不懂js混淆,楼主后续可以考虑先把思路放在前面;
licuican666 发表于 2025-11-17 15:25
waxaohua 发表于 2025-11-17 16:07
大佬牛,完全看不懂
SunnyBreeze 发表于 2025-11-17 16:32
这个得收藏一下慢慢来看
nativeyouth 发表于 2025-11-17 17:16
好复杂,先收藏,后学习
Xwddl 发表于 2025-11-17 17:57
大佬牛啊!收藏起来好好学习
Ylvan 发表于 2025-11-17 19:45
很厉害,虽然我太菜了完全看不懂
mjhwzwg6 发表于 2025-11-18 01:22
很厉害,虽然我太菜了完全看不懂
huxc573 发表于 2025-11-18 07:30
膜拜大佬
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

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

GMT+8, 2026-2-19 08:44

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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