适合读者编程爱好者前置知识:VC)栏目编辑)socket)******@haRootKit文件隐藏技术实现文/图夜枫R0OtKit隐藏文件的原理并不复杂,~File和FindNex~File两个组合起来,枚举到当前目录下的文件,,并做相应的处理就可以实现文件的隐藏。当查到我们要隐藏的文件时,就在内核将这个文件剔除掉,所以FindFirstFile和FindNextFile实际得到的是我们已经剔除过的信息了,这样就不会被枚举出来了,也就看不到我们的文件了。当然,这个方法是过不了反RootKit工具的,例如IceSword用的是直接和磁盘驱动通讯的方法获得到数据,所以R00tKt隐藏对于这类工具是无效的。应用虽然说这种隐藏方法会被工具检测出来,但这也是正常的,因为没有一种技术是完美的,而且实际上R00{K{隐藏各种信息是很常见的,这些技术通常用在各种木马以及***上当然有些病毒也有。我们这里主要是学****技术,希望大家不要用在其他方面。设计思路上文所说的是我们要演示的思路,。本文还是主要介绍修改ssDT的方法。从AP1名字上,我们就可以看出NlQuerYDirectoryFile不是Win32API而是NativeAPI所以驱动不可少的。NtQueryDirectoryFfe在DDK里没有声明,所以我们要手动声明它。按照修改ssDT驱动的标准结构,我们的实现代码如下(部分):这段代码首先定位到SSDT表,然后声明我们的函数。2OO8o4黑客防线维普资讯 )栏且编辑)socket>socket@翟INBOOUeANRestartScan):^媲NTSYSAPINTSTATUSNTAPIZWQl翮了DryFile(。INPIO—APCjOUTINEApcRoutineOPTIONAL,ontextOPT[ONAL。OUTP10LSTATUS—BLOCKlostatusBlock,OUTPVOIDF订eInformation~INULONGLength,INFILEINFORMATION—CLASSF_leInformationClass,INBOOLEANRetumSingleEntryINPUNICODES,rRINGFfleMaskOPTIONAL,INBOOLEANRestartScan):tYPedefNTSTATUS(*ZWQUERYDIRECTORYFILE)(INHANDLEFileHandle,fNHANDLEEventOPTIONALINPIOAPCROUTINEApcRoutineOfIONAL,ontextOfrIONAL、OUTP10STATUS—BLOCKIoStatusBlock,—CLASSFileInformationClass,
RootKit文件隐藏技术实现.pdf 来自淘豆网www.taodocs.com转载请标明出处.