私は自分のツールを使って処理できるように、もともとはVisual Basic 6で書かれたプログラムで生成されたデータファイルを読み込もうとしています。RC4のような難読化を克服するにはどうすればいいですか?
このプログラムは、米国政府によって作成されたパブリックドメインソフトウェアです。これを禁止するライセンス契約はありません。プログラマーがおそらく来年のバージョンの難読化を変更してしまう可能性があるため、プログラムの名前やWebサイトへのリンクについて言及することはできません。私はリバースエンジニアリングの努力を繰り返さなければならないでしょう。
基礎となるデータファイル形式はテキストベースで、難読化はハードコーディングされたキーを持つ何らかの種類のストリーム暗号です。私はXORデータファイルを一緒にしてデータの一部を取り出すことができます(文字列フィールドの1つを繰り返しASCII文字で埋めてください)が、私のプログラム内にキーストリーム全体を埋め込むことを避けたいと思います。
.exeファイルを検索すると、RC4iniという名前のサブルーチンと、キーと思われる文字列が表示されます(ユーザーインターフェイスのどこにも表示されません)。私はPlanet Source Codeにこの暗号化ライブラリのソースコードがあり、RC4(JavaScriptで、私が主に働いているプログラミング言語である)の実装を正しく変更し、それを使ってみた。
ファイル内のすべてのオフセットで暗号化されたデータを検索しようとしましたが、復号に成功しませんでした。なぜこれが起こっているのですか?
パブリックドメインの場合、それにリンクを設定します。 –
@Igor Skochinsky:新しいバージョンのプログラムが毎年リリースされています。次のリリースは2011年初めに開始される予定で、プログラムの名前に言及すると(Web検索で表示される)、プログラムをもう一度やり直す必要があります。 – PleaseStand
アルゴリズムの独自の実装を見ることなく、どのように実際のものと同じ結果を与えていないのか、誰が賢明な答えを返すのでしょうか? – caf