rec-日本人

RECメーカー4 – リバースエンジニアリングコンパイラ

REC スタジオは、対話型の逆コンパイラです。

これは、ウィンドウズ、Linux、Mac OS Xまたは生の実行可能ファイルとコードのCのような表現を生成するための試みと実行可能ファイルを構築するために使用されるデータを読み込みます。
多くの異なるターゲットのために生成されたファイルを読み取るように設計されており、それにはいくつかのホスト・システムに設定されていました。

RECスタジオ4は、元の逆コンパイラのRECを完全に書き直したものです。 このような部分的な静的単一代入(SSA)として、より強力な分析技術を使ってMac OS Xファイルの読み込みが可能になり、32ビットおよび64ビットのバイナリをサポートしています。
まだ開発中ものの古いメーカーレック2よりもそれがより便利になり、ステージに達しています。

録音スタジオ2ページここに

特長

前述のように、録音スタジオ4はまだ開発中です。 次のようなほとんどのターゲットが完了している独立した特徴、

  • マルチホスト:録音スタジオでは、ウィンドウズ XP / Vistaの/ 7、Ubuntu LinuxのはMac OS X上で動作します
  • ドワーフ2GDPのMicrosoft形式の部分認識を使用してシンボリック情報をサポートしています。
  • C ++で最も認識:gccの復号化され、そして尊敬DWARF2で説明継承によって生成されたマングルされた名前を。 しかし、C ++は非常に広範かつ困難な言語であり、そのようなテンプレートなどの一部の機能はおそらくサポートされることはありません。
  • タイプと関数プロトタイプの定義は、テキストファイルで指定することができます。 POSIX標準およびパッケージレックスタジオで提供されているウィンドウズ APIの一部。
  • 対話は、定義セクション、ラベルと関数のエントリ・ポイントに制限され、サポートされています。 プログラムの定義と関数のパラメータの種類にサポートするためにそれを修正する必要があります。

この表は、これまで実施されている特定のターゲットの特徴を示しています。

機能 x86(IA32) x86_64版 MIPS PowerPCの MC68K ARM
逆アセンブラ 成熟しました 成熟しました 成熟しました 成熟しました 成熟しました 計画
PE COFFローダ 成熟しました 成熟しました N / A N / A N / A N / A
ELFローダー 成熟しました 成熟しました 成熟しました 成熟しました 成熟しました 計画
COFFローダー 成熟しました N / A N / A N / A 成熟しました N / A
マックOS Xローダー 成熟しました 成熟しました N / A 計画 N / A 計画
シンボリック情報DWARF2を 成熟しました 成熟しました 成熟しました 成熟しました N / A 計画
COFFシンボリック情報 計画 N / A N / A N / A 計画 N / A
呼び出し規約 現在進行中 現在進行中 現在進行中 計画 計画 計画
32ビットおよび64ビット 現在進行中 現在進行中 N / A N / A N / A N / A
浮動小数点 計画 計画 N / A N / A N / A N / A
デバッガウィンドウ 現在進行中 計画 N / A N / A N / A N / A
gdbデバッガ 現在進行中 現在進行中 N / A N / A N / A N / A

RECソースはパブリックドメインではありません

RECは、Win32実行ファイル(別名PE)のVisual C ++またはVisual Basic 5によって生成されたファイルを読み込むことができますが、結果の出力には制限があります。 RECは、シンボルテーブルEXEに存在するあらゆる情報を使用しようとします。 EXEファイルはデバッグ情報なしでコンパイルされた場合は、プログラムデータベースファイル(.PDB)またはCodeviewの(C7)フォーマットが使用されている場合、コンパイラの最適化オプションが有効になっている場合、または、結果の出力は非常に良いではありません。 また、ビジュアル 基本的なの5の実行可能ファイルは、 フォームの サブルーチンのコードとデータの混合物です。 RECはどちらを決定することはほとんど不可能です。 唯一のオプションは、CMDファイルを使用して手動で市外局番と領域データを決定することです。

実際には、唯一のCは、実行可能ファイルは意味のある出力を生成する逆コンパイル。

参照

さまざまなソースから入手できる他のいくつかの逆コンパイラ。 私を見て庭のリバースエンジニアリングリストに。

やや意外にも、内部アーキテクチャは、コンパイラの逆コンパイラと非常によく似ています。高品質の文献は両方のために存在します。 デザインノートページでは、簡単なテストユニットよりも少し複雑なプログラムを解読しようとする著者の逆コンパイラ面という問題についての情報を持っています。
逆コンパイルのページには、一般的には逆コンパイラに関連したリンクやドキュメントを持っています。

マイク・バンEmmerik博士論文はしている大幅にバイナリプログラムの逆コンパイルにおける根本的な問題の解決策を概説することによって逆コンパイルのフィールドを進めました。

クリスティーナ・シフエンテス 「逆コンパイル技術の博士論文を詳細に8086 DOSプログラムのための理論と実装のDCCデコンパイラについて説明します。

wotsitのページには、COFFやELFのようにオブジェクトファイル形式の仕様へのリンクがあります。

コード分析に関連するいくつかの概念がで議論されたリファレンスデバッガページ。

私は、開発時に使用されるもう一つの基本的な本は、次のとおりです。

  • 「コンパイラ – 原理、テクニックとツール」、アホ、セティ、ウルマン、1986年アディソン・ウェズリー出版社ISBN 0-201-10088-6。
  • 「高度なコンパイラの設計・実装」、スティーブン・マックニック1997モルガン・カウフマン出版社、ISBN 1-55860-320-4。
  • 「デバッガのしくみ – アルゴリズム、データ構造、およびアーキテクチャ」、ジョナサン・ローズムバーグ 1996ジョン・ワイリー・アンド・サンズ、ISBN 0-471-14966-7。

RECに使用される逆アセンブラは、種々の供給源から採取されました。 分布のCopyriteファイルは、RECで使用される各逆アセンブラのためのクレジットのリストを持っています。 コードの残りの部分はによって書かれている自分の最後の25年間。 私は自分の空き時間にRECを改善していきますが、私はバグの修正や新機能、プロセッサ、またはホストを追加できることを保証することはできません。

拒否

逆コンパイルの合法性について多くの議論がありました。 逆コンパイラツールは、長い時間のためのプラットフォームの広い範囲のために利用されています。 プログラムの所有者がプログラムをリバースエンジニアリングする法的権利を持っているときなどのデバッガ、バイナリエディタ、逆アセンブラなどの他のツールと一緒に逆コンパイラは、のみ使用してください。

著作権法の公正使用の条項の下で逆コンパイラを使用することが合法であることを、米国およびその他の国の裁判所によって確立されています。

逆コンパイラを使用する法的なときに調べるには、次の例のテキストをお読みください:

また、 読んで別のホスト上のバイナリプログラムを実行するために、エミュレータを使用しての合法性についての議論を。

バッカーストリートソフトウェアは違法な目的のためにリバースエンジニアリングツールの使用をサポートしていません。


著作権©1997 – 2015バッカーストリートソフトウェア-すべての権利を保有。

歴史:

2011年3月9日バージョン4.0ベータ版:より多くの近代建築をサポートするための完全な書き換え逆コンパイラ(マッチョファイル、x86_64版)。

7月2日、2007年バージョン2.2:.CMDファイルを介して固定逆コンパイル生のバイナリ。 部分的にレジスタの伝搬定数を実装しました。 固定多くのエラーの68K。
2007年5月6日バージョン2.1:バックを追加しました+ RecStudioためのバッチオプション。 i386用Ndisasmを使用します。 ウィンドウズバイナリのインポートデータよりも優れた断熱材
2005年9月20日版2.0D:68Kのためのより多くのバグ修正
2005年9月6日バージョン2.0C:Linuxファイルの.oのサポートおよび68Kのための支援を強化
8月15日、2005年版2.0B:メンテナンスリリース。 Watcomの-コンパイルされたバイナリと文字列幅のサポート
8月1日、2005年版2.0A:メンテナンスリリース。 クラッシュ、ウィンドウズの実行ファイルと品質向上
2005年5月30日バージョン2.0:ウィンドウズのGUIとインタラクティブ逆コンパイルは
2000年9月19日バージョン1.6:SPARCのサポートが追加されました。
1999年3月16日版1.5D:検出スイッチからの回復()。 ビッグエンディアンMIPSのサポートが追加されました。
1999年3月6日バージョン1.5:Win95のファイル内の情報のインポート/エクスポートのサポート。 ソースのフリーウェアGNUに置き換え逆アセンブラ。 固定多くのクラッシュ
1998年11月22日バージョン1.4A:固定無限ループ逆コンパイルWin95のファイル。 ファイルにプロトタイプのウィンドウズを追加
1998年11月15日バージョン1.4:対話モードで追加能力ブラウザ、およびHTMLページ生成
1998年7月30日
バージョン1.3B:メンテナンス:固定クラッシュと68Kでの問題。
1998年2月15日バージョン1.3:追加Motorolaの68000とPowerPCのターゲット。
12月7日、1997年バージョン1.2:固定ユーザー・インターフェースPC。 今、私たちは、16ビットDOSの実行ファイルを読み込むことができます。 より多くのバグ修正。
1997年10月26日バージョン1.1:マルチターゲット(386 + R3000)のサポート、いくつかのバグが修正され、ELFとPEファイルをロードします。
10月6日、コンソールモードでのウィンドウズ(recr4kpc.zip)とSunOS 1997年に移植された(recr4ks4.tar.gz)
1997年9月20日は recr4kl.zipを利用できるように作成されました。

No Comments

    Leave a reply