相见恨晚——《Windows黑客编程技术详解》
这篇讲的是病毒木马中最常用,也是最基础的技术——初始化操作
初始化操作
基本上所有病毒木马在执行恶意代码以前,都会先执行初始化操作,这些操作对应本篇3个基础技术点:
- 运行单一实例
- DLL延迟加载
- 资源释放
运行单一实例
无论是病毒和木马,在被不择手段地植入到目标的计算机以后,一定会用尽一切方式让自己激活。但是如果病毒木马被多次重复运行,系统就会有多个病毒木马的进程。这不仅加大了暴露的风险,同时又很可能妨碍了恶意代码的正确执行。所以为了解决这些问题,确保系统中只有一个病毒木马进程实例常常是很有必要的行为。
要实现这一操作的方式有很多,扫描进程列表,枚举程序窗口;共享全局变量;或是现在讲的——创建系统命名互斥对象来实现。
创建系统命名互斥对象实现运行单一实例
相关函数
CreateMutex函数
创建或打开一个已命名或未命名的互斥对象
函数原型