AST反混淆实战|某里滑块三重switch压缩思路分享

本文思路源自 渔滒 的某里AST反混淆代码,本人仅在此做个归纳总结,并感谢 渔滒 的思路。因法律风险,不提供源码,只有思路,所以请不要问我要源码。

最新版的某里已经到了140前缀(几个月前),并大量的充斥着三目表达式,逗号表达式,如果要还原,从代码难看程度就已经把人吓退了。

其实不然,仔细分析,稍微有点AST的基础,就能将三目表达式还原成 if 语句,if 语句特别的有规律,又可以还原成  switch 语句。由于过于简单,不是此文的重点,再此不表。

第一步:

三目表达式  => if 语句 =>  switch 语句

 经过上面的还原后,会得到一个 三重的 switch 嵌套代码(如下图),特别的长,多达36000行,看起来还是很迷糊。那怎么搞?

e53ba186dd549bb4f76919e254c5dadd.png

我们要还原代码,如果能将三重的switch 变成一重的switch代码,那不就清晰多了?

是否可行呢?

答案是可行的,我们来看最后的那一重switch,其cases最大长度为 28(读者可自行验证):

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值