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 |