@TOC
样品网址:aHR0cHM6Ly93d3cudGkuY29t
打开f12后打开网站,在主页源代码拉到最下面
有一个文件路径都是随机英文的js文件,这次需要反混淆的就是这个js文件,先下载文件到本地
格式化后发现代码非常混乱,难以阅读
函数开始的时候发现是先调用了sX函数,手动调试后发现,这个是定义的0-9的10个数字,这个函数可以先进行还原
还原出数值后,就可以对作用域内的这些数字的变量进行回填
接着调用的就是gX函数,和上面的逻辑一模一样,先计算出二元运算的结果,然后再进行回填
接下来还是需要手动慢慢调试走一下流程,看看什么地方可以还原了,比较核心的就是字符串的还原,还是和ob混淆类似的思想,需要想办法在环境里面获取到解密函数,然后调用解密
字符串还原后,已经算是还原的七七八八了,还原后会发现有很多废代码,剩下的就是去除一些控制流和删除废代码
最后把废代码都删除后的结构大概是这样
函数内部的一些逻辑比一开始容易理解了不少。我是用以往一周的js进行反混淆测试,都可以达到一键解混淆的效果。接下在尝试一下在网页中替换js
替换js后,请求体和响应体都是正常的,说明反混淆正确,反混淆工作完成。
接下来就是加密算法的分析,预计算法比较复杂,需要耐心一步一步跟进,希望有生之年可以分析出来吧!!!
|