关注它,不迷路。
本文章中所有内容仅供学习交流,不可用于任何商业用途和非法用途,否则后果自负,如有侵权,请联系作者立即删除!
1.什么是ob混淆
ob混淆是最最最常见的混淆代码,它的变量名一般是以 "_0x" 开头,如 "_0x33fc",很多新手朋友因为基础不扎实,误以为它是一个十六进制的数据。
它的官网地址:
https://obfuscator.io/
2.旧版的ob混淆
目前网站上主要流行两个版本的ob混淆,以v4.0.0版本为界。旧版的ob混淆 特征如下:
它是由一个 大数组 + 移位自执行函数 + 解密函数组成。
_0x2755 是大数组变量名,它的元素全都是字面量;
它后面是一个自执行函数,其目的是改变各个元素的位置;
紧接着是一个解密函数 _0x5685,它调用的时候,元素位置已经改变,因此需要一起抠才能正常解密。
当然,它们在混淆代码中有可能被打散了,因此,你可能需要使用binding来定位。
3.新版的ob混淆
新版的ob混淆 特征如下:
它是由一个 大数组函数 + 移位自执行函数 + 解密函数组成。
a0_0x4bdb 是大数组函数名,它返回的是一个大数组,数组的元素全都是字面量;
紧接着是一个解密函数 a0_0xf422,它调用的时候,元素位置已经改变,因此需要一起抠才能正常解密。
它后面是一个自执行函数,其目的是改变各个元素的位置;
当然,它们在混淆代码中有可能被打散了,因此,你可能需要使用binding来定位。
就字符串解密而言,它与旧版ob混淆的差别其实很小,大数组无非由变量定义变成了函数定义。
需要注意的是,标准的ob混淆,某些自执行函数或解密函数包含了代码格式化检测,因此在运行的时候需要进行压缩处理,否则可能导致浏览器或者控制台卡死。
今天的文章就分享到这里,感谢大家的阅读!
欢迎加入知识星球,学习更多AST和爬虫技巧。