声明:本文仅限交流学习使用,请勿使用在任何非法商业活动,禁止用于非法用途。否则后果自负。如有侵权,请告知删除,谢谢!
上一篇分析了__m__的生成过程,如果够仔细,就发现bella就在_m_旁边,通过全局搜索也很好定位
还是那一套,打断点,刷新页面
单步调试,跟进去,发现代码再Html 页面的 script 标签中,有个大数组,里面又很多像是经过Base64编码后的字符串
格式化,美化代码后,发现代码被混淆了,
不懂AST混淆还原的话,就只能控制台边输出 边调试,硬扣代码,耗时费力,费肾掉毛发
调试这样的代码真的是需要耐心,耐心,耐心,不能着急,看似废话,这很重要,没耐心或者急于快速分析出结果,反而会让你脑袋发懵!然后放弃
复制整段JS代码,格式化美化,典型的Ob混淆(有个大数组,里面是js代码中的字符串经过加密,编码,乱序,还有花指令,控制流平坦化)
利用AST进行初步字符串反混淆后,代码可读性增强很多
。。。。。。。。。。。。。。。
经过 苦B 又充满乐趣 的调试,发现有很多环境检测,还有 Hamc 算法,本想把调试具体过程,以及遇到的需要注意的地方写出来,但是东西太多了,为了节约时间不在写了(不会调试的新同学,可私信我)
纯 硬扣 混淆代码 后效果 如下
python 调用 执行效果 如下
另外,我用纯Python 的方式 进行了算法还原,效果如下
下一篇 分析 header 中 pre 参数的生成 ,提前说下 生成pre的JS 代码是动态混淆的,很有学习参考,提升js逆向的价值