2

PDF ファイル コードでファイルを非表示にしようとしています。私はすでに私を助けるためにいくつかの情報を検索しました。pdftk を使用して pdf を圧縮解除しようとしました ( pdftk pdf.pdf output uncompress.pdf uncompress )。次に、次のようなさまざまなことを試しました:

  • コメントの挿入: 解凍した pdf ファイルのコードに " %TEXT_TO_HIDE " を入れました。
  • add new object : 「 0 0 obj << TEXT_TO_HIDE << endobj 」 を展開する pdf ファイル コードに入れます。
  • 既存のオブジェクトを変更する

次に、もう一度pdftkを使用して圧縮します

いずれの場合も、オリジナルとは見た目が異なる新しい pdf を取得します。破損していませんが、画像の色が異なり、元のテキストが一部欠落しています。

それで、誰にも気付かれずにPDFコードを変更するためのいくつかのルールを知っていますか?

(PS : 私の英語が下手でしたらすみません^^)

4

1 に答える 1

4

テキスト エディターで PDF ファイルを変更しても、ファイルが一般的に準拠していると期待することはできません。PDF はバイナリ形式であり、PDF 仕様を読んで変更方法を理解する必要があります。

とはいえ、PDF ドキュメントには情報を「隠す」ことができる場所が山ほどあります。本当の問題は、隠したいデータの量と目的です。目的は通常、これがどの程度安全である必要があるかに関連しています。

いくつかの例として:

1) PDF では、完全なファイルを実際の PDF ファイルに埋め込むことができます。まともなソフトウェアを持っている人なら誰でもこれらのファイルを抽出できるため、これは実際には安全ではありません (もちろん、ファイル自体はまだ保護されている可能性があります)。

2) PDF では、ファイルの任意の場所 (またはほとんどの場所) に任意のオブジェクトを追加できます。これは情報を隠すのに最適な方法ですが、適切なツールを持っている人なら、(ファイルが圧縮されていても) オブジェクト ツリーをブラウズして、何をしたかを見ることができます。

3) PDF では、たとえば、白い背景に白いテキストを追加したり、他のオブジェクトの後ろにテキストを追加したりできます。繰り返しますが、適切なソフトウェアを持っている人には、これを回避する方法があります。

4) Adob​​e の PDF 仕様では、%%EOF マーカーの後に少なくとも 1K の毛羽立ちが許可されています (ただし、ISO 32000 では許可されていません)。これは、適切なテキスト エディタまたはバイナリ エディタでファイルを開いたすべての人に表示されることに注意してください。(ありがとうジョンウェア)。

要するに、正確に何を達成したいのか、ユースケースでどのように「安全」なのかをより適切に定義する必要があります。

また、メソッドがどの程度「堅牢」でなければならないかを検討する必要があります。たとえば、隠しコードをそのままにして、誰かが PDF ファイルを Acrobat で保存できるようにする必要がありますか? 上記の方法のいくつかは、絶対的な確実性を保証するほど堅牢ではない場合があります。

于 2014-11-22T12:25:06.163 に答える