よくあるご質問(FAQ)
VB Decompilerの機能、技術仕様、ライセンスについて、よく寄せられるご質問と回答をまとめています。
基本情報
VB Decompilerは、Visual Basic 5.0/6.0および.NET(C#、VB.NET)で作成されたプログラムを解析するためのツールです。ソースコードの復元(デコンパイル)、Native Codeの逆アセンブル、フォームやユーザーコントロール(.frm、.ctl)の復元、文字列定数の編集などを行えます。
VB Decompilerは、機密性の高いオフライン解析、ネイティブアプリケーションならではの高速性、そして長年にわたるリバースエンジニアリングの専門知識を兼ね備えています。
- 完全にオフラインで行える機密性の高い解析。主要なデコンパイル処理と解析処理は、すべてお客様のコンピュータ上で実行されます。解析対象ファイルやデコンパイル結果がDotFix Softwareのサーバーへ送信されることはないため、ネットワークを切断した環境でも安全に利用できます。オプションのAI Helperもローカルモデルで利用できます。
- 高速なネイティブ実装。VB Decompilerは高速なネイティブプログラミング言語(Delphi)で開発され、バイトコード、マネージドランタイム、ラッパーを介さず、直接機械語へコンパイルされます。デコンパイルエンジンは外部のライブラリやフレームワークに依存していません。そのため、比較的古いハードウェアでも安定した処理性能を発揮します。
- 開発者自身が設計した中核アルゴリズム。製品の主要アルゴリズムは、AIが生成したコードに頼らず設計されています。他のソリューションでは数十段階の処理パイプラインとなる場合がある操作も、VB Decompilerでは綿密に設計した2パスのアルゴリズムで処理し、解析時間を大幅に短縮します。
- 21年間にわたる継続的な製品開発と、25年以上の実務経験。多くの競合デスクトップ製品が2000年代初頭以降ほとんど更新されていない一方、VB Decompilerは継続的に進化してきました。長年の専門的な研究、高度なデコンパイルエンジン、細部まで磨き上げたアルゴリズムを内部に備えながら、ユーザーには高速で分かりやすい操作性を提供しています。
- 週7日の技術サポート。週末や祝日を含め、毎日お客様からのお問い合わせに対応しています。国によって祝日や営業日が異なるため、お客様が他国の業務日程に合わせる必要はありません。迅速な支援が必要な場面で、重要な復元・解析作業を止めずに進められるようサポートします。
- 仮想環境および互換レイヤーでの動作検証。競合製品とは異なり、VB DecompilerはWine、Parallels、Proton上でも継続的にテストされています。アンチウイルス企業を含むお客様は、偶然の互換性に頼るのではなく、あらかじめ検証された利用環境として安心して運用できます。
はい。Visual Basic 5.0/6.0のP-CodeおよびNative Code、さらに.NET(C#、VB.NET)で作成されたEXE(実行ファイル)、DLL(ダイナミックリンクライブラリ)、OCX(ActiveXコントロール)に対応しています。技術的な詳細については、VB 6.0リバースエンジニアリングガイドをご覧ください。
.NETアプリケーションについては、x86およびx64アセンブリに対応しています。
Visual Basic 5.0/6.0はコンパイラ自体が64ビットコードを生成しないため、32ビットファイルのみが対象です。
いいえ。VB DecompilerはVisual Basic 5.0/6.0および.NETアプリケーションに特化した製品です。DelphiやC++のファイルを開くと、未対応の形式であることを通知します。なお、DelphiおよびFree Pascal向けには社内用の解析ツールがあり、個別の解析サービスとして対応できる場合があります。詳しくはお問い合わせください。
コードの復元と解析
復元できる範囲はコンパイル方式によって異なります。
- P-Code(VB5/6):高い復元率(最大85%)。プログラムのロジックの大部分を復元できます。
- .NET(C#/VB.NET):非常に高い復元率(最大95%)。読みやすいC#コードとしてデコンパイルします。
- Native Code(VB5/6):最も解析が難しい形式ですが、部分的に復元したVisual Basicコードを取得できます(最大75%)。
AI Helper(バージョン12.6以降)は、Ollama経由でQwen3などのローカルLLMを利用し、デコンパイル後のコードを整形・改善します。文脈に基づく変数名の提案、Goto文からWhile/Forループへの変換、構文の整理などに対応します。快適に利用するには、8GB以上のVRAMを備えたGPUを推奨します。
通常、VB Decompilerはファイル全体をまとめて処理します。大規模なプロジェクトでは解析に時間がかかるため、「高速デコンパイル」モードでは、実際に開いたプロシージャだけを必要に応じて処理します。これにより、非常に大きなファイルでもすぐに解析を始められます。オプション → 拡張機能から切り替えられます。
多くの場合、ローカル変数名は復元できません。コンパイラがファイルサイズを最適化する際に変数名を削除するため、var_10のような仮の名前で表示されます。一方、フォーム、コントロール、標準のイベント、Public関数などは、元の名前が残っている場合があります。
高度な機能
トレーシング機能では、コンパイル済みのVB5/6プログラムを実行せずに、任意の関数の動作をエミュレートできます。命令を1つずつ実行し、レジスタ(EAX、EBXなど)の値やスタックの変化を確認できます。マルウェアをデバッガ上で直接実行するよりも安全に解析できます。
はい。ツール → 文字列参照からテキスト文字列を検索し、直接編集できます。ただし、バイナリファイルの構造上、新しい文字列を元の文字列より長くすることはできません。
はい。解析したプロシージャ名やエントリポイントを、MAPファイル、IDA用のIDCスクリプト、HIEW用のNAMETファイルとして出力できます。VB Decompilerで得た解析結果を、他のデバッガや逆アセンブラで引き続き活用できます。
VB Decompilerには、UPXなど比較的単純なパッカーを対象とした汎用32ビットアンパッカーが含まれています。この機能は32ビット版Windows上でのみ利用でき、対応可能なファイルでは自動的に展開を試みます。独自パッカーや高度な保護が施されたファイルは対象外です。
ライセンスと購入
- Single Developerライセンス:1名の開発者向けです。1台の物理PCまたは仮想PCにインストールできます。ライセンスは登録された開発者本人に帰属し、別の開発者へ譲渡したり、所有者以外が使用したりすることはできません。
- Enterpriseライセンス:企業・組織向けです。最大20台の物理PCまたは仮想PCで、最大20名の開発者が使用できます。20台または20名を超えて利用する場合は、追加ライセンスが必要です。
どちらのライセンスも業務・商用目的で利用できます。
いいえ。Educationalライセンスは、個人が自宅で学習する非営利・非商用目的に限られます。商用ソフトウェアや著作権で保護されたソフトウェアのデコンパイル、マルウェア解析、業務での利用は認められていません。
購入したバージョンのライセンスは永続ライセンスです。契約期間中に認証したPCでは、インストール済みの製品を期間終了後も継続して利用できます。1年間の契約には、新しいバージョンへのアップデート、技術サポート、別のPCへのライセンス移行が含まれます。契約は割引価格で更新できます。
