畅游巡警技术内幕分析(部分)

前阵子看到JPZY的贴,萌生了逆向分析一下畅游的技术,因为畅游不是简单的使用了库,还有实时脚本高启发扫描技术。本文就针对这种技术进行一些分析。

首先纠正一个误解,许多人觉得畅游比较小,还这么NB是不可能的,其实对畅游巡警的主文件脱壳后,发现大小3M多,根本不是大家想像的那么小。废话不说了,贴图。

这是畅游巡警的虚拟机入口,从这里开始,将走入一大段很长的虚拟机代码,看着很晕。不过好在我的强大的毅力下,走过去了。

畅游巡警首先会装载自己必须的库,然后从内核中查找几个必须的API,最后就游荡的虚拟指令代码中。
直到。。。。 我激活了一个使用了脚本加密工具加密的测试木马网页。
在激活后,畅游巡警在IE解释器解释网页之前拦截了这个脚本,开始对脚本进行分析,下图是分析脚本代码调用。

注意:从下面的CALL调用中,将开始对脚本全面的解析,其中解析过程大约有15个左右的函数,具体记不清楚了,代码超多,这里贴个关键的。

畅游首先会判断网页是否是加密网页,如果是则对网页动态进行解密,下图即将解密指针传递给解密代码。

解密后,网页变成了明文状态,然后畅游又激活10个左右的分析分支对脚本进行启发检测,代码超多,算法复杂,看这个地方太累,直接给出分析结果,在分析完成后,堆栈中明确出现脚本木马名称。


先写这些,分析这东西太累了!!!!有空在看启发算法。

用户系统信息:Mozilla/5.0 (Windows; U; Windows NT 6.0; zh-CN; rv:1.9.0.5) Gecko/2008120122 Firefox/3.0.5