一种隐藏DLL的方式

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/aqtata/article/details/78884251

某个辅助软件中学到的一种方法,完全在Ring3下隐藏DLL,不需要用驱动。

在进程LoadLibrary某个DLL文件后,这个DLL是不可以被删除的,但是可以改名和移动位置(当然,就算移动了位置也不可以删除它)

所以代码中可以用MoveFile移动到某个角落去。如果是这么简单我就不用写这些废话了。。。

重点是移动到一个资源管理器打不开的位置,通过CreateDirectory创建一个特殊的文件夹"....",比如

CreateDirectory('d:\test\....\', nil);

"...."这样的名称是非法的,在资源管理器中是无法创建出来的,但是通过API却可以。。。创建这个文件夹后把DLL移动进去就大功告成了

MoveFile('D:\test\Hack.dll', 'd:\test\....\Hack.dll');

这样,DLL就从原来的位置消失了,而新位置在资源管理器中又无法访问到,达到了简单隐藏DLL的目的。

PS:360安全卫士打开的情况下,无法创建"...."文件夹,看来360屏蔽了这些非正常行为。

猜你喜欢

转载自blog.csdn.net/aqtata/article/details/78884251