
仕事で使用しているサードパーティ ソリューションによって暗号化されたファイルをバックアップしようとしています。バックアップ ソリューションには強力な暗号化オプションがあるため、暗号化されていない状態でバックアップしたいと考えています。また、ファイルを使用するためにサードパーティ ソフトウェアは必要ないことも注目に値します。
サードパーティのソリューションには暗号化プロセスに関するドキュメントがほとんどありませんが、暗号化されたファイルをインデックスするデータベースに保存されているキーは持っています。また、データベースが参照するファイルにもアクセスできます。
唯一の問題は、サードパーティ企業がデータを暗号化するために使用した暗号化アルゴリズムがわからないことです。
使用されている暗号化の種類を判別するために使用できるテクニックはありますか? または、さまざまな復号化ルーチンと設定されたパスワードを簡単に試すことができるソフトウェア ツールはありますか?
答え1
まず最初に試すのは、アプリケーション実行可能ファイルのシンボルをダンプし、「encrypt」、「AES」などの可能性のある単語を探すことです。あなたの説明からすると、彼らは難読化に頼っている可能性があり、それは設計上、あなたのタスクを非常に困難にします。最悪の場合、彼らは独自の暗号化アルゴリズムを設計するほど愚かです。
たとえアルゴリズムを決定できたとしても、それだけでは十分ではないかもしれないことに注意してください。多くの対称暗号化アルゴリズムは、初期化ベクトルIV の選択方法は標準的ではありません。
アプリケーションをリバース エンジニアリングする簡単な方法が機能しない場合は、アプリケーションにフックして暗号化コードをバイパスすることで、アプリケーションが暗号化を実行しないように仕向ける方が簡単な場合があります。つまり、暗号化を実行するアプリケーションの部分を見つけるよりも簡単な方法が見つからない場合は、その部分を理解するよりもバイパスする方が簡単である可能性があります。