病毒可以中断一个dll函数调用
我有一个32位可执行文件,它调用Dll文件中的函数。 安装时,dll将复制到可执行文件和系统目录的相同文件夹中(32位平台上的system32和64位平台上的sysWOW64)。 我已经成功地测试了这个可执行文件:一台32位的winXP电脑,一台32位的Win7虚拟机,一台win7 64位的电脑,一台win8 64位的笔记本电脑。
然后一位客户给我一台Win 7 64位笔记本电脑。 它感染了病毒(这些病毒会将您的所有文件夹和文件隐藏在记忆棒中并创建快捷方式)。 在这台笔记本电脑上,我的可执行文件无法找到我的dll,尽管它被复制到各自的文件夹中。 我的exe文件显示一条错误消息,提示“无法找到mydll.dll”。
病毒是否有可能中断了对dll的调用并搞乱了我的可执行文件?
是的,病毒可以挂钩(“覆盖”)LoadLibrary或GetProcAddress并返回空值。
然后你会收到这条消息。
或者它可以把自己放入DLL加载过程(感染),并由于意外故障导致故障。
它可以删除执行权限
或者它可以覆盖DLL的魔术字节,所以系统不会再将DLL识别为DLL ...
或者它可以“覆盖”文件列表API,并始终返回null ...
或者它也可以递归地加载/调用自己,直到发生一个stackoverflow(它也可以做这个延时,造成看似随机崩溃)或...或...或...
一般来说,在知道感染病毒的机器上进行任何测试都是不好的想法。 当然,这显然与整个系统有关。 你从字面上不能相信系统所说的任何单一的东西,因为它被破坏了。
所以,这与你是否可以看到你的DLL无关......你应该专注于擦除该机器上的驱动器并重新开始。
而当你在它的时候,不要把那个拇指驱动器放到另一台机器上。 把它放在一个Linux机器上并对其进行格式化。 (病毒不能以这种方式传播。)
链接地址: http://www.djcxy.com/p/27843.html