0

ファジングするファザーが欲しいのですが、ファイル自体を壊すことはありません。つまり、ファイルをランダムにファジングしたいのですが、ファイルを開いて後でテストできるようにしたいのです (破損したファイルは望ましくありません)。

たとえば、zzuf を使用して mp3 または png ファイルをファズすると、ファズされたファイルを開けなくなります。だから、ファイルを壊さずに内容を曖昧にする方法を知りたいです。

どのバイトをファジングするかを指定する -b オプションに関係しているように感じます。しかし、pngファイルをプリザーバーヘッダーにしようzzuf -b 8-としても、まだ機能しません。これを正しく使用していませんか?

アップデート

mp3、wav、png、jpg、および mp4 に対してこれを何度も試してみましたが、開くことができるファイルは一度もありません。では、ファザーは文字通りファイルを「壊す」のでしょうか?

4

1 に答える 1

0

hachoirのようなツールを使用して、PNG ヘッダーとデータ領域がどこにあるかを見つけることができますが、問題はここにはないため、それでは解決できません。

問題はヘッダーだけではありません。圧縮形式 (PNG) を扱うため、「データ」領域は、ビットを変更してファイルを形式的に有効にすることができるダム ビットマップではありません。

圧縮データには、解凍されたデータを再構築するために解凍アルゴリズムが処理する、ある種の「命令」が含まれています。ある意味では、圧縮されたデータ形式は一種のドメイン固有のバイナリ言語であり、解凍プログラムが解析して解釈します。

この言語の有効なプログラム (有効な圧縮データ領域を持つ有効な PNG ファイル) を取得し、ランダムにビットをいじると、この特定の言語に従って別の有効なプログラム (別の有効な PNG) が生成される場合とそうでない場合があります。

たとえば、単純なRLE アルゴリズムは、{バイト コンテンツ、出現回数} バイトのシーケンスを生成します。「発生カウント」バイトの 1 ビットを変更すると、解凍されたデータのバイト数が予期された数と突然異なるwidth * height * depthため、画像は破損していると合理的に見なされます。

肯定的な結末として、プログラムがクラッシュしたり、CPU/メモリ リソースを使い果たしたり、ハード ドライブをフォーマットしたりせずにファジングされた PNG を開くことを拒否した場合、プログラムは正しく動作します。ないという意味ではなく、見つけられなかったという意味です)。

本当に画像データのみをファジングしたい場合は、圧縮解除されたデータに対して機能するファザーが必要です。存在するかどうかはわかりませんが、使用する形式(PNG、MP3など)を完全に認識する必要があります。一般的なバイナリファザーにはなりません。

于 2016-08-21T14:26:13.843 に答える