🎃

DLL解析系ツール

2023/03/03に公開

DLLの中身を解析することなどあってはならないと思うが,一応。
UNIXの共有ライブラリならlddコマンドでくらいしか知らないがWindowsでは調べ方がいろいろあるのでメモ。

1. Dependencies

  • C++のDLLの依存関係を調べることができる。
  • コンパイルは通るが,実行時エラーが直せないというときに使おう。

2. dumpbin

  • C++のDLLに含まれる関数名を取得できる。
  • ソースコードを紛失したけどとりあえず呼び出したいときに使おう。
  • Visual Studioインストーラで「C++デスクトップ開発」入れると,勝手にDevelopper Command PromptとDeveropper Power Shellがついてくる。ここで"dumpbin /exports <DLL PATH>"と打つと関数名が見れちゃう。

3. dotPeek

  • JetBrainsが提供しているデコンパイラ。
  • 無性に逆コンパイルしたいときに使おう。
  • C#のDLLを入れると,なんとソースコードを復元してくれる。しかもかなり読めるレベル。
  • 企業の製品などでC#のDLLが提供されている場合,中身は盗み放題。そのためC#界隈には「難読化」という謎の技術が存在する。

Discussion