実行中のプロセスの.exeファイルは、実行中に削除できないことをご存知でしょう。 ファイルは移動できますが、そのセクション内でのみ移動できます。 NTFSストリームを使用すると、実行中のプロセスファイルを削除できます。
これは、コマンドラインの3行で文字通り行われます。
cmd.exeを実行し、NTFSパーティションのディレクトリに移動します。
type %windir%\system32\notepad.exe > zz:notepad.exe
start E:\tmp\zz:notepad.exe
del zz
最初の行は、メモ帳をNTFSパーティションに「notepad.exe」zzファイルのストリームとしてコピーします。 空のzzファイルが自動的に作成されます。
2行目は、このスレッドが通常の.exeファイルであるかのように実行を開始します。
3行目は空のzzファイルを削除し、そのスレッドは一緒に消えます
プロセスは引き続き機能します。 taskmgr.exeを実行して、引き続き動作するzz:notepad.exeプロセスを鑑賞できます。
これの実用化? たとえば、インストーラーで。 彼らは一時ファイルにたくさんのexe-shnikovを残すのが好きです。 インストーラーはこの方法で実行可能ファイルを実行できますが、一時.exeファイルを削除しても問題はありません。
代替NTFSファイルストリームを操作するためのプログラム 。