プログラムのゾンビ化
コンピュータウィルスのプログラムには,稀にゾンビ化させているものがあります.
ここでいうゾンビ化とは,管理プロセスに任意のプロセスを監視させ,任意のプロセスを終了させないようにすることです.
Process process = new Process(); process.EnableRaisingEvents = true; process.Exited += new EventHandler(process_Exited); process.StartInfo = new ProcessStartInfo(str); process.Start();
により,EnableRaisingEventsをtrue,process_Exited関数をイベントハンドラに登録します.
これによりプロセスが終了した場合はprocess_Exited関数が呼ばれるので次のように設定します.
void process_Exited(object sender, EventArgs e) { { Process process = (Process)sender; process.Start(); } }
これで終了したプロセスは再度起動されます.
後はこのプロセスを隠蔽できれば,割とよいゾンビ化の成功です.