DLLのexport名称がない場合 – プログラミング – Home

DLLのexport名称がない場合
 
通知
すべてクリア

[解決済] DLLのexport名称がない場合


tenteku
 tenteku
(@tenteku)
ゲスト
結合: 15年前
投稿: 38
Topic starter  

Dependency Walkerで見ても名称が表示されない関数を
LoadLibrary-GetProcAddressで呼び出すことは可能でしょうか?

結局よく分からなかったので提供側からlibとhファイルをもらいましたが


引用未解決
トピックタグ
tenteku
 tenteku
(@tenteku)
ゲスト
結合: 15年前
投稿: 38
Topic starter  

試してみました。配布によって名前と規約は分かってるので
GetProcAddress(hInst, _Hoge@0)
などでいけました

どうやって名称なしにするかはよく分からなかったですが事故解決


返信引用
仲澤@失業者
(@uncle_kei)
Prominent Member
結合: 5年前
投稿: 828
 

「Dependency Walker」はその名の通り「依存関係」の表示ですね。
呼ばれていない関数は「依存してない」ので、表示されないかも
しれません。

dumpbin /EXPORTS ~.dll では、どうでしょう。表示されるのでは?


返信引用
YuO
 YuO
(@YuO)
ゲスト
結合: 22年前
投稿: 320
 

解決となっていますが……。

まず,名称無しにする方法ですが,.defファイルのEXPORTSセクションの対象関数に,
NONAMEを使って定義します。

MSDN: EXPORTS
http://msdn.microsoft.com/ja-jp/library/hyx1zcd3.aspx

次に,GetProcAddressでは,序数 (ordinal number) で指定することによって呼び出しま
す。
GetProcAddress(hInst, (LPCSTR)10)
のようにして呼び出すことになります。
# Dependency Walker上ではOrdinalとなっているのが序数です。

MSDN: GetProcAddress function
http://msdn.microsoft.com/en-us/library/windows/desktop/ms683212.aspx


返信引用
tenteku
 tenteku
(@tenteku)
ゲスト
結合: 15年前
投稿: 38
Topic starter  

仲澤さん
ありがとうございます、dumpbin /expport で表示できました
ところで今日になってDependency Walkerでも表示されるようになりました。
Dependency Walkerと依存関係について詳しいHPなど知ってましたら教えてくださるとう
れしいです

YuOさん
ありがとうございます、勉強して今後に役立てたいと思います


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました