Windows API 関数の一部を使用している foo.exe があります。これらの関数のメモリ アドレスを取得したいのですが、どうすればよいですか? 使用できるソフトウェアはありますか?
私はそれを行う非プログラム的な方法を探していることに注意してください。
ありがとう
私はそれを行う非プログラム的な方法を探しています。
これは不可能であるか、意味がありません。おそらく両方。
Windows API 関数の 1 つを呼び出すには、対象の関数を含む DLL からプログラムをインポートする必要があります。これには、DLL をそのプログラムのプロセスのアドレス空間にロードする必要があります。また、各プロセスには独自のアドレス空間があるため、各プロセスは DLL の独自のインスタンス (またはコピー) を取得します。つまり、DLL が提供する関数の「メモリ アドレス」は、プロセスごとに異なります。
この情報をプログラムを使用せずに取得することは意味がありません。取れたとしても何の役にも立ちません。
すでに解決したアプローチについて尋ねるのではなく、質問を編集して達成したいことを説明していただければ、おそらくより良いアドバイスを提供できます。
エクスポートされた関数のアドレスは、DLL をロードするプロセスごとに異なる場合があります。関数は、GetProcAddress
それらがプロセスにとって何であるかを教えてくれます。