VB Decompiler のトレース機能



数か月にわたる細心の注意を払った作業を経て、VB Decompiler の拡張バージョンを導入できることを嬉しく思います。 今回は、その主要な機能であるネイティブ コードの逆コンパイルも刷新しました。 VB Decompiler の多くのユーザーがこのアップデートを心待ちにしていたため、コードベースの大幅なリファクタリングを経て、エミュレータを再設計して大幅に改善することができました。 実際の CPU で実行する必要がなく、組み込みエミュレータ上でネイティブ コードおよび P コードでコンパイルされたプログラムを部分的にデバッグできるようになりました。



VB Decompiler Native Code Tracer


トレース (より正確には、ステップバイステップ エミュレーション) を使用すると、アセンブリ コードの各行でエミュレーションを一時停止でき、プロセッサとコプロセッサのレジスタ、スタック、変数を検査できるようになります。 コードは実際のプロセッサ上で実行されるのではなくエミュレータによって処理されるため、この機能はマルウェアを調査するウイルス対策ラボで働くウイルス アナリストにとって非常に貴重であることがわかります。



VB Decompiler Tracer for Visual Basic Native Code files


ここで、実装の微妙な違いについて少しお話します。 トレースは個々の関数に対してのみ可能ですが、エミュレータはこの関数の処理時にスタック、レジスタ、および変数が空であると想定します。 現在、膨大な数の Intel x86 プロセッサ コマンドがサポートされていますが、トレース中にスキップされるサポートされていないコマンドがまだ存在します。 さらに、トレーサはフラグの変化を表示しません。 現在の実装では、フラグは cmp および jcc コマンドの処理にのみ影響します。 外部関数呼び出しもサポートされていません。 ただし、stdcall および cdecl 呼び出しは、対応するスタック調整 (sub esp、XX および add esp、XX) で正しく処理されます。 現在、逆方向のトレース、ループ、コマンドのジャンプもできません (ステップバイステップの前方エミュレーションが実行されます)。 それ以外の点では、このツールは通常のトレースに非常に近く、非常に使いやすいです (キーボードベースのトレースの継続とキャンセルがサポートされています)。



VB Decompiler assembler code tracer


残念ながら、この機能は VB デコンパイラの基本ビジネス ライセンスには含まれていません。 説明したトレース機能の実装には膨大な時間がかかり、この機能は高度に専門化されており、潜在的なユーザーの数は限られているため、トレースには VB Decompiler Business ライセンスを購入する必要があります。 トレース機能付き。





Main     News     Products     Documentation     Articles     Download     Order now     About us    

Privacy policy