ファイルを選択した後、逆コンパイル
ボタンを押ししばらく待つと逆コンパイルされたファイルのアーキテクチャが表示されます。ウィンドウの左側にフォーム、モジュールとプロシージャのツリー構成があります。ウィンドウの右側では選択したプロシージャまたはファンクションの内容を見ることができます。
ツールバーの構成を説明します。ツリーオブジェクトの上には開いた機能の履歴をたぐるための矢印の付いた2つのボタンがあります(2つ以上の機能を開いた後にこのボタンを見ることができます)。ファイルの内部形式の名前、逆コンパイルの2つのモード:
パーススタックパラメータ、 プロシージャ アナライザ オプティマイザ。 ではこれらの詳細についての説明をします。「
プログラムオプション 」で「Visual Studio のウィンドウ スタイル」が有効になっている場合、オブジェクト
ツリーが右側に配置され、コードが左側に表示されます。
ボタンの矢印で [<] と [>]
は開いた機能の履歴に移動するために使用します。プログラムファンクション間を移動するとき前の機能に戻り、それから再度元に戻るときに便利です。この
VBデコンパイラ は、開いた機能の履歴を保存し、2つ以上の機能を開いた後のナビゲーションを可能とします。これらのボタンは Ctrl + G
とメニューの 仮想アドレスにジャンプ を通して、記憶されます。
ファイルの内部フォーマットについて。それはプログラムがコンパイルされたコードの種類です。このコードのタイプは逆コンパイルの品質を直接的に明らかにし、ソースコードの結果と密接に関連します。現在、 VBデコンパイラは以下のフォーマットタイプをサポートします。: P-Code, ネイティブコード, .NET アセンブリ これらのタイプについてのさらなる詳細は 説明 を参照してください。
逆コンパイルのモードについて説明します。高速逆コンパイルがアクティブの場合、これらのモードは"オンザフライ"で動作します。もし高速逆コンパイルがアクティブでない場合、全てのチェックボックスを設定した後に再度逆コンパイルを実行し直す必要があります。全ての、説明をしたモードは違ったファイルフォーマットごとに異なる動作をします。
P-Code ファイルを逆コンパイルした場合、 スタックパラメータの解析
スタックを使用して畳み込み演算をオンにします。例えば、このコード:
push var_b
push Rnd
call %x1(%x2)
この様に変換されます:
call Rnd(var_b)
このモードをオフにする、定義されない機能のプロトタイプの意味を持っています。また、スタックの内容は呑み込まれ、表示されません。
ネイティブコードファイルを逆コンパイルした場合で スタックパラメータの解析 オフの場合、
アセンブラコードが表示されます。オンの場合エミュレータによって解析され、よりシンプルな読みやすいコードに翻訳されるでしょう。
分析および最適化コードのモードは一覧のより深い最適化をオンにします。コマンドの断片化ブロックは1つにまとめられます。未使用の変数はきれいにされます。コードはソースコードに近いものになります。このモードはP-Code と
ネイティブコードと同様に機能します。
現在の .NET
アセンブリの場合、モードの変更は、擬似コード MS IL コードが C# コードに近い形式に変換されるという点で P
コードと同様に機能します。
この機能は、時間の経過とともにさらに開発および改善される予定です。