12

もともとVS2005で書かれた小さなユーティリティがあります。

小さな変更を加える必要がありますが、いずれかのdllのソースコードがどこかで失われています。

dllをC++コードにリバースエンジニアリングするための無料または手頃な価格のツールはありますか?

4

7 に答える 7

16

Hex-Rays逆コンパイラーは優れたツールですが、コードを読むのは非常に難しく、DLL全体をリバースエンジニアリングするために多くの時間を費やす必要があります。

于 2009-03-08T12:19:40.223 に答える
7

また、32 ビット アセンブラー レベルの分析デバッガーであるOllyDbgも参照してください。ソース コードがないシナリオでバイナリ コードを分析するために使用されます。軽量デバッガです。OllyDbgはシェアウェアなので、無料でダウンロードして使用できます..!!

OllyDbg のホームページはこちら

PS:昔、クラッカーは NuMega のSoftICEを使用して実行可能ファイルをデバッグし、レジスタの値でスナップショットを取得しました。SoftICE は高度なデバッガでした。それは間違いなくクラッカーのお気に入りのツールでした. 商品の現状はわかりません。NuMega のサイトにはそれに関する情報がありませんでした。見落としていたのかもしれませんが、見つけられませんでした。SoftICE のレガシー バージョン (4.0x) を入手し、SoftICE 用の WindowsXP パッチを適用することをお勧めします。SoftICE での作業は、一種の「体験」です。

さらに読む:リバーシング: エルダッド・エイラムによるリバースエンジニアリングの秘密

于 2009-03-08T14:02:16.140 に答える
3

あなたの正確な状況と、DLL がアプリケーションにどの程度の機能を実装しているかはわかりません。しかし、ほとんどの場合、不足している DLL を既知の機能に基づいて書き直した方がよいと私は主張します。

これは、ドキュメントがある場合に特に当てはまります。

バイナリ コードをアセンブラーにリバース エンジニアリングし、次に C++ に変換し、それを変更して既存の機能を提供しようとすると、ほとんどの場合、時間がかかり、不可能になることさえあります。

于 2009-03-08T13:03:39.057 に答える
1

小さな変更がテキストの編集やルーチンのスキップである場合は、16進エディターまたは逆アセンブラを使用できますが、元のC ++コードを表示することはできず、DLLを回転させるツールを見つけたとしても表示されません。コードに戻ると、すべての変数名がなくなり、大きな混乱になります。

于 2009-03-08T12:18:26.217 に答える
1

状況によっては、レガシー/バイナリ DLL をそのまま維持し、変更および/または追加の動作を追加するラッパー DLL を作成します。

アイデアは、古い機能をインポートする新しい DLL に古い機能を集約することです。

于 2009-03-08T14:13:13.617 に答える
0

ゲームやアプリのクラッカーが行うように、逆アセンブラーを使用してアセンブラー コードをハッキングする必要があります。

于 2009-03-08T13:26:15.493 に答える