1. ホーム
  2. batch-file

[解決済み] 非常に基本的なバッチ式自己複製コード:どのくらい危険か?

2022-03-03 05:41:22

質問

フォン・ノイマンの自己複製機械について少し読みすぎたので、バッチを少しいじって、実行時に自分のコピーを作る簡単なファイルを作ってみることにしました。 結局、こんな感じになりました。

set self=%~n0
REM get own filename
TYPE %self%.bat > %self%E.bat

このファイルはWEE.batとして保存され、最新のイテレーションを実行するたびに、Eを追加したコピーが作成されます。

最新のイテレーションを自動実行するための簡単な行を追加するのは非常に簡単で、この時点で何が起こるのか、実は全く分かりません。また、このコード片は実際のマルウェアとどのように違うのでしょうか(ネットワークを通じて広がるという明らかな点の他に)?

解決方法は?

<ブロッククオート

このような場合、このコード片は実際のマルウェアとどのように違うのでしょうか(ネットワークを通じて広がるという明らかなことのほかに)?

いいえ、コンピュータに無駄なことや有害なことをするように指示すれば、そうします。 ここで唯一の制限要因は、エコーを有効にすると、実行のすべての行がコンソールウィンドウに吐き出される必要があるため、恐ろしく速くなるわけではないことです。Ctrl-Cで終了させることもできますが、ファイル名が長すぎて起動できなくなるまで何千ものファイルを作成し続け、その時点で失敗してしまいます。 ほとんどのハードディスクには、スクリプトの容量よりもはるかに大きなスペースがあります。

もし実験したいのであれば timeout /? . スクリプトを実行するたびに5秒か10秒のタイムアウトを追加すると、バッチファイルを実行するディレクトリの種類にかかわらず、ファイルの数が増えていくのを確認できます。

EDIT

この場合、ファイルパス/名前の長さが270文字であることが制限要因のようです。

>type D:\TMP\Joseph\testeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee.cmd  1>D:\TMP\Joseph\testeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee.cmd
The filename, directory name, or volume label syntax is incorrect.

>D:\TMP\Joseph\testeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee.cmd
The parameter is incorrect.