FLASH吸血鬼的工作原理及Anti-vampire的几种思路
继续补全之前blog的博文~~
FLASH吸血鬼是众多网友用来从exe可执行文件中提取swf的利器,其直接读取内存,从内存中取出swf文件。
经过分析,发现其原理还是比较简单的。
第一步。通过GetWindowThreadProcessId函数获得进程PID。为以后基本的进程内存搜索奠定基础。
第二步。通过OpenProcess打开前面获得的pid的进程对象。
第三步。通过VirtualQueryEx函数和ReadProcessMemory函数遍历进程的内存,在内存中搜索swf文件的文件头“CWS”和“FWS”。如果搜索到,则进行解密,并输出swf文件。
Anti-vampire的启示:
1、阻止吸血鬼得到窗口句柄
2、阻止吸血鬼打开程序内存
3、使swf文件不完整的存在于程序内存中
其中第一种实现后用起来很怪异,第二种强度凑合,但是如果吸血鬼采取一定的跟进措施,很容易搞定,第三种就目前来说,算是比较有效的。
最新评论