7

dll を C++ コードに逆にすることは不可能であることを知っているので、可能な限り詳細を収集したいと思います。それは私のdllではないので、もちろんソースコードはありません。どのプログラムを使用すればよいですか?

4

3 に答える 3

16

熟練していれば、DLL を逆アセンブルして、そのすべての機能を理解することができます。これにはかなりの時間がかかりますが、そうすると手動でソースに戻すことができます。

それ以外の場合は、Dependency Walker などのツールを使用して、依存する DLL と関数、およびエクスポートする関数を取得することから始めることができます。そこから、興味のある関数を見つけ、IDA のような逆アセンブラーを使用して、それらが何をするかを確認できます。

于 2013-03-01T01:36:17.377 に答える
2

dumpbinツールを使用して、エクスポートされた関数の一覧を表示できます。C++ 関数がエクスポートされている場合、名前マングリングによってパラメーターを推測できる場合があります。

Visual Studio でリソースを表示するためのファイルとして "開く" だけで、DLL からすべてのリソースを抽出できます。DLL が COM ベースの DLL である場合、タイプ ライブラリがその中にリソースとして埋め込まれている可能性がわずかにあります。また、タイプ ライブラリがある場合は、それを #import して、パブリック インターフェイスのヘッダー ファイルを再構築できます。

それはそれが得られるのと同じくらい良いです。

于 2013-03-01T01:40:25.770 に答える
1

PE ファイル ビューアーが必要です。これにより、DLL からのエクスポートが通知され、.text セクションのデータを取得してマシン コードを確認できます。

于 2013-03-01T01:35:28.810 に答える