吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 6216|回复: 51
上一主题 下一主题
收起左侧

[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。


接着要找的第二个文件就是security-js文件夹下的js文件。后面的js文件名是一个随机的字符串,每天会变。


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


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


然后插入代码


最后删掉多余代码


将整个switch复制出去放在for循环中执行,得到每个case_index_X对应的w的值


得到映射结果。


根据映射结果将switch还原为一个switch.


删掉插入的代码,并将switch还原成顺序代码。


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


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


懒得扣代码了,直接放将js带入网页的结果

免费评分

参与人数 25威望 +2 吾爱币 +122 热心值 +23 收起 理由
DsYs + 1 + 1 谢谢@Thanks!
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 热心回复!

查看全部评分

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

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

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

本版积分规则

返回列表

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

GMT+8, 2026-5-17 01:59

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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