ページ 11

バイナリエディタで見ると見つからないdllがある

Posted: 2011年11月16日(水) 13:04
by shiro4ao
件名がわかりにくくてすみません。

あるネットワークアプリケーションを作りました。
それを、dependency walkerで開くと、
kernel32.dll wsock32.dll user32.dll winmm.dllを使っていることがわかりました。
しかし、バイナリエディタStirlingで開くと、kernel32.dllしか見つからないようでした。
なぜ見えないのか、その原因を特定したいと思っています。

環境は
Win7 HomePremium 32bit
BorlandC++Compiler
です。

昔、WindowsVista32bitで開いたときは見えたのですが、
そういったことは関係しているのでしょうか?

Re: バイナリエディタで見ると見つからないdllがある

Posted: 2011年11月16日(水) 14:57
by へろりくしょん
PEフォーマットについてグーグル先生に聞いてみるといいですよ。

簡単に説明すると、インポートされるDLLの関数群は、それぞれの関数へのアドレス値が埋め込まれています。
DLLの名前も、その名前のアドレス値が埋め込まれています。
shiro4ao さんが書きました:昔、WindowsVista32bitで開いたときは見えたのですが、
そういったことは関係しているのでしょうか?
まったく関係ありません。
バイナリを吐き出すのは処理系の仕事です。

Re: バイナリエディタで見ると見つからないdllがある

Posted: 2011年11月18日(金) 22:32
by shiro4ao
ご回答ありがとうございます。
数日調べたのですが、今の知識では難しかったようです。
また勉強してから、やり直してみようと思います。

ありがとうございました。