Top > 製品版のご購入 << Back

(画像提供: ISFDB)


<逆Cコンパイラ DCC の仕様>


<逆Cコンパイラ DCC 2.60 の新機能>

* Pentium IVの全CPU命令(マルチデータ命令SIMD 2など)が サポートされました。
* Pentium IIIの全CPU命令(マルチデータ命令SIMDなど)が サポートされました。
* Pentium Proの全CPU命令(条件付き移動命令cmovなど)が サポートされました。
* MMX Pentiumの全CPU命令(MMX命令など)がサポートされました。
* Windows 95、98、及びWindows 2000/NT/XPの全実行ファイルのソース化に 対応しました。
* relocation情報持たない実行ファイルに対しても、 オフセット演算子と即値を正確に自動判断する機能がサポートされました。
* 製品版に、2つの動作バージョン(Con32/Win32)をすべて含めました。
また、
* Windows 95/98/2000/NT/XP上のTD32のTDS(Borlandのデバッグ情報)が 完全サポートされました。これにより、例えば、AGNSSの出力MAPからCGN2で 直接TDSを作成できますので、再アセンブル/リンクせずに、 出力アセンブルソースで直ちにソースデバッグに入れます。
* コンパイラのレジスタの最適化に対応するために、レジスタ変数にrange() オプションが追加されました。同一レジスタを別のレジスタ変数に割り当てたり 範囲指定できますので、レジスタ本来の機能(任意の式の保存)を損なわずに レジスタ変数が使用できます。

<逆Cコンパイラ DCC の特徴>

[1] 出力ソ-スファイル(C/H/LST)はファイル分割可能です。
再Cコンパイル/リンクのためのメ-クファイル(MSC/BCC対応) も出力されます。

[2] 全ラベルはユ-ザリネ-ム可能です。 リネ-ムラベル数に制限はありません。
出力Cソ-スファイルに対して、靜的/動的変数、関数型や関数パラメ-タを、 typedefや構造体を含む任意のCデ-タ型(カ-ニハン=リッチ-第1版及び第2版準拠) で再定義できます。

[3] Cのあらゆる制御構造(関数、switch文/for-while文/if-else文)を 全自動で解析し、ソース化します。
構造体やswitch文/for-while文/if-else文などの構造化記述のネストレベルは、 100レベルまでです。

[4] 実行ファイルから直接ソース化するため、
従来不十分であった、ASM/PASCAL/BASIC/FORTRAN/C++/Javaといった別言語で 書かれたソースを、EXEを介して、Cに言語変換する際に役立ちます。

[5] インラインアセンブルをサポートするため、
例えば全域でインラインとすることで、Cソース化されないアセンブル部分と Cソースを同時に見ることが可能です。また、複雑なアセンブルソースを、 for-whileやif-elseを付けた構造化された形で理解する際に役立ちます。

[6] シンボルファイル(map/tds)を直接出力するため、
デバッガによって、出力Cソ-スファイルで、 対象実行ファイルを直接ソ-スデバッグできます。 特に、出力されるtds(Borlandのシンボルファイル)には、Cソ-スライン情報 だけでなく、あらゆるCデ-タ構造も含まれますので、 BorlandのデバッガTD32で、 対象実行ファイルを(再コンパイルせずに)直接、逆Cソ-スデバッグできます。

対象CPU: 8086-586/8087-387/Real-Protect mode/Pentium IV
対象システム: MS-DOS/Windows3.0-3.1/Windows 95/98/2000/NT/XP/ Dos-Extender/ROM
入力実行ファイルサイズ: 16MBまで
入力ファイルタイプ: EXE/DLL/EXP/COM/SYS/OBJ/MEM/LIB/RES/SYM/TDS
出力アスキ-ファイル: C/H/LST/MAK/LOG/MSG/DMP/MAP/DEF/RC/REN/MOD/DCC
出力バイナリファイル: TDS/386/RES/CUR/ICO/BMP/FNT/USR
動作環境(MSDOS版): インテル80X86-CPU MS-DOSマシン汎用
動作環境(32ビットWindows版 /32ビットコンソール版):(注iii)
インテル80X86-CPU 32ビットWindows汎用
仮想メモリ: EMS/XMS (MSDOS版のみ)

(注i) MAPSYM/SYMDEB/MASM/MS-DOS/WindowsはMicrosoftの製品です。
TDMAP/TD386/TD32/TASMは、Borlandの製品です。
(注ii) DCCは、DeCompiler for C の略です。
AGNSSは、Automatically GeNErating Source System の略です。
AGNESは、AGNSSの愛称、あるいは、逆アセンブラのメインプロセスの名称です。
(注iii)
DCCの製品バージョンとして、動作環境が異なるものが2つ用意されています。
32ビットWindows版(Win32版)は、Windows 95/98/2000/NT/XPの32ビットWindowsで、
GUIアプリケーションとして動作します。
32ビットコンソール版(Con32版)は、Windows 95/98/2000/NT/XPの32ビットWindows
で、32ビットコンソールアプリケーションとして動作します。
この2つの動作バージョンは、入力ファイル/出力ファイルともに同一で、全く
同一の機能を実現します。速度的にも、ほぼ同じです。
DCCの製品版には、Win32版及びCon32版がすべて含まれます。

対象CPU:
インテル8086~80586、リアル及びプロテクトモード。 MMX Pentium(586)のMMX命令、Pentium Proの条件付き移動命令、及び (cmov)やPentiumIIIやIVのマルチデータ命令を完全サポート。

対象実行ファイル:
MS-DOS、WINDOWS 3.0-3.1/WINDOWS 95/98/2000/NT/XP の 実行ファイル(EXE,DLL,COM,SYSなど)、 OBJファイル(16/32ビットOMF形式)、及びメモリファイル。 PharLap DOS-EXTENDERは、OBJ及びシンプルEXPまで対応。 実行ファイルサイズ16MBまで。 1MBまでのメモリ空間の自動ソース化(MSDOS版のみ)。

DCCの実行環境(MSDOS版): (注: DCCのMSDOS版の最終バージョンは、2.30。)
インテル8086系CPUのMS-DOSマシン汎用。 高機能ブラウザもついていますが、これもMS-DOS汎用で動作。 (ただし、IBMマシン及びその互換機ではANSI.SYSが必要。) 本体実装メモリ640KB以上。利用可能メモリ450KB以上。 (ただし、CSMの実行は利用可能メモリ530KB以上必要。) MS-DOS 2.11以上。

DCCの実行環境(32ビットWindows版/32ビットコンソール版):
インテル80X86系CPUで動作する32ビットWindows汎用。 本体実装メモリの制約はありません。

仮想メモリ:
EMS及びXMSを完全サポート(MSDOS版のみ)。仮想メモリが全く 無くても、ファイル上で動作可能。

対応Cコンパイラ:
MSC及びBCC。

主な出力ファイル:
再アセンブル・リンクのためのメークファイル(.MAK)を 自動出力。 Cソース(.C/.H)及びリスト(.LST)出力。 WINDOWSでは、完全なリソースファイル(.rc)、モジュール 定義ファイル(.def)も出力するので、メークファイルで そのまま再アセンブル・リンク可能。 マップファイル(.MAP)、ダンプファイル(.DMP)、 ログファイル(.LOG)、メッセージファイル(.MSG)など。

自動コメント:
INT、IOアクセス及びWINDOWSのVMMファンクションの自動 コメントファイルが、エディット可能な形で提供。 (INT/IO命令は、インライン表示でのサポートです。)

FP命令:
387までの全浮動小数点(FP)命令を完全サポート。 Pentium Proの条件付移動命令(fcmov)やPentium IIIの マルチデータ命令(fcomi等)を完全サポート。 エミュレーション(INT34H-3DH)では、コメントとしてFP命令 を表示。

仮想セグメント:
C++のOBJでは、BorlandのVIRDEFやMicrosoftのCOMDATといった 仮想セグメントを、自動検知・ソース化します。

オーバーレイ:
オーバーレイの実行ファイルとして、Borlandのオーバーレイ と、Microsoftの旧オーバーレイと新オーバーレイ(MOVE)を 完全サポート。

シンボル:
ユーザによるラベルのリネームをサポート。 シンボルファイルとして、SYM及びTDSをサポートしています ので、この場合、自動的にラベルがリネームされます。 TDSは、BorlandのTD32(32ビットWindows用デバッガ)の シンボル情報も完全サポートします。 OBJ及びWINDOWSでは、シンボルは全自動リネームされます。

コマンドファイル:
アセンブル構造(コード/データの区別等)の指示は、 AGNコマンドによって完全に行えます。 Cのデータ構造の指示は、DCCコマンドによってtypedefや structを含むあらゆるCデータ型で詳細に指定可能です。 Cの制御構造(関数やswitch/for-while/if-else)の変更や 指定等もサポートします。 出力ソースファイルは、ファイル分割可能なため、標準ライ ブラリ等のソース化を抑制することができます。 コマンドファイルでは、条件ディレクティブ(@ifdef)及び マクロ機能(@macro)を使用できます。

コマンドファイルの自動出力:
TDS (Borlandのシンボル情報)から、.DCC/REN/MODといった コマンドファイルを自動出力します。 TDSは、BorlandのTD32(32ビットWindows用デバッガ)の シンボル情報も入力/出力ともに完全サポートします。

ソースデバッグ情報の自動出力:
TDS (Borlandのシンボル情報)をあらゆるCデータ型を含めた 完全な形で出力するため、 オリジナル実行ファイルを(再コンパイルせずに)直接、 逆Cソ-スデバッグできます. TDSは、BorlandのTD32(32ビットWindows用デバッガ)の シンボル情報も入力/出力ともに完全サポートします。

全自動モード:
実行ファイルのコード/データといったアセンブル構造を 全自動で強力に解析する XSIM (EXEシミュレータ) と、 Cの制御構造とデータ構造を全自動で解析する CSM (Cシミュ レータ)を装備。 構造体やswitch文/for-while文/if-else文などの構造化記述 のネストレベルは、100レベルまでです.

関数の呼び出しフロー図:
関数やprocの呼び出しフロー図及び被呼び出しフロー図が出力 されます。ある関数の機能を知るためには、これが参照する 他の関数の機能を知ることが必要不可欠です。また逆に、 ある関数の機能が分かっていれば、これが参照する他の関数 まで遡る必要はありません。こうした関数間の相互関係が、 分かりやすい呼び出しフロー図で知ることができるため、 EXE全体の構造を前もって完全に把握することができます。

ESP関数:
Windows 95/98/2000/NT/XPで多用されるESP関数をサポートします。 80X86 CPUの通常の関数では、引数や局所変数のアクセスは、 固定EBPで[bp+num]や[bp-num]で行なわれますが、この方法は 逆アセンブルソースから引数や局所変数の同定が一目瞭然で ある欠点があります。そのため32ビットWindowsの関数では、 [esp+num]によって、push/popで常に変動する可変ESPで引数 や局所変数へアクセスすることで、逆アセンブルによる解析 を事実上不可能にしています。DCCのCシミュレータは、この ようなESP関数を自動検知した上で、ESP値の変動を正確に シミュレートすることで、引数や局所変数を正確に同定して Cソース化します。

オートレジパラモードとオートcタイプモード:
関数の引数や局所変数を、レジスタパラメータやレジスタ変数 を含めて自動決定します。また、関数のタイプ、その変数や EXE内/EXE外データのcタイプを、全自動で解析し、 構造体へのポインタや関数ポインタを含めて再定義します。

姉妹製品・逆アセンブラの逆リンク機能:(推奨事項)
DCCが解析するのは、C構文上の意味だけですから、 コード本来の意味は、人間によって解析されなければなりま せん。この解析作業は、入力ファイルサイズが10KB以下の ようなものでない限り、DCCのCシミュレータを何度も起動し なければならないオーバーヘッドが問題になります。 逆アセンブラのAGNSSの出力するアセンブルソースは、 デフォルトの自動モードで出力されたものであっても、 再アセンブル時にアセンブルエラーはまず出ません。従って、 出力ファイルのファイル分割機能を使うことで、解析に必要な モジュールのみOBJの形で正確に切り出すことが容易にできま す。巨大なEXEから切り出されたOBJを、DCCの入力ファイル とすることで、同一EXEの同一コードを解析しながら、 巨大なEXEを入力とする場合のオーバーヘッドをほとんど ゼロにすることができます。

ドキュメントファイル:
マニュアルは、ドキュメントファイル(500KB)の形で提供され ます。EXEシミュレータ のシミュレーションアルゴリズムは、 フローチャート(HCPライク)付きでドキュメントに含まれてい ます。

統合環境シェルモジュール(32ビットWindows版):
32ビットWindows版には、統合環境シェルモジュールAGNDCCWが 付属します。ここでは、DCC の各実行モジュールを起動した り、起動オプションやコマンドライン引数を指定したり、 必要なコマンドファイルを作成/追加/修正したりできます。 AGNコマンドやDCCコマンドの書式は、重要なものほど複雑です が、それぞれ分かりやすいダイアログから入力できますので、 重要なコマンドの仕組みをビジュアルに理解できます。また、 各コマンドの解説部分(.HLP/.DOC)をいつでも表示できます。

商品リスト

逆アセンブラ AGNSS 2.60 \49,800 JPY

逆Cコンパイラ DCC 2.60 \49,800 JPY

逆アセンブラ & 逆Cコンパイラ AGNSS & DCC 2.60 \98,000 JPY

株式会社 美利崎人 (ビリザキト)
〒201-0014 東京都狛江市東和泉1-34-19-102
TEL:03-5497-1962