memomem

備忘録・メモ置き場

DLLに実装されている関数を調べる

UnityでNativePluginを実装するときに、dllに実装されている関数を確認したい。

kazupon.org

上記ページに方法記載されている。下記は概要。

Visual Studio Installer で[C++ によるデスクトップ開発]がインストールされているかチェック。未インストールであればインストールを行う。

Visual Studio を起動し、[ツール] > [コマンドライン] > [開発者用 Power Shell]を選択。

Windows Power Shell が起動し

cd でdllのあるパスへ移動

dumpbin /exports XXXX.dll

を実行

Microsoft (R) COFF/PE Dumper Version 14.24.28314.0
Copyright (C) Microsoft Corporation.  All rights reserved.
Dump of file C:\Windows\System32\amsiproxy.dll
File Type: DLL
  Section contains the following exports for amsiproxy.dll
    00000000 characteristics
    918B159C time date stamp
        0.00 version
           1 ordinal base
           4 number of functions
           4 number of names
    ordinal hint RVA      name
          1    0 00001080 DllCanUnloadNow
          2    1 00001040 DllGetClassObject
          3    2 000010E0 DllRegisterServer
          4    3 00001110 DllUnregisterServer
  Summary
        1000 .data
        1000 .pdata
        2000 .rdata
        1000 .reloc
        1000 .rsrc
        1000 .text

のようにに実装されている関数が表示される。

DllCanUnloadNow, DllGetClassObject, DllRegisterServer, DllUnregisterServer が実装されている関数名ということがわかる。

その他参考

xoxopigs.com