dll を C++ コードに逆にすることは不可能であることを知っているので、可能な限り詳細を収集したいと思います。それは私のdllではないので、もちろんソースコードはありません。どのプログラムを使用すればよいですか?
3 に答える
熟練していれば、DLL を逆アセンブルして、そのすべての機能を理解することができます。これにはかなりの時間がかかりますが、そうすると手動でソースに戻すことができます。
それ以外の場合は、Dependency Walker などのツールを使用して、依存する DLL と関数、およびエクスポートする関数を取得することから始めることができます。そこから、興味のある関数を見つけ、IDA のような逆アセンブラーを使用して、それらが何をするかを確認できます。
dumpbinツールを使用して、エクスポートされた関数の一覧を表示できます。C++ 関数がエクスポートされている場合、名前マングリングによってパラメーターを推測できる場合があります。
Visual Studio でリソースを表示するためのファイルとして "開く" だけで、DLL からすべてのリソースを抽出できます。DLL が COM ベースの DLL である場合、タイプ ライブラリがその中にリソースとして埋め込まれている可能性がわずかにあります。また、タイプ ライブラリがある場合は、それを #import して、パブリック インターフェイスのヘッダー ファイルを再構築できます。
それはそれが得られるのと同じくらい良いです。
PE ファイル ビューアーが必要です。これにより、DLL からのエクスポートが通知され、.text セクションのデータを取得してマシン コードを確認できます。