Visual Studio 2022 - 開発者コマンドプロンプト

クラウディア 
1. 概要
2. 状況
3. エントリポイントを探す

1. 概要

 おそらくは、以前のバージョンの「Visual Studio」にも存在した機能なのでしょうが、「Visual Studio 2022」ではじめて使うことになりました。  本ページは、下記のサイトを参考にさせていただきました。
DLLファイルに含まれる関数の調べ方

2. 状況

 あるメーカから、提供された「.dll」があるのです。  その「.dll」内の関数をいくつか使うのですが、ある関数の呼び出し時に。
「Visual Studio 2022」-「エントリポイントが見つかりません」

 てなことになったのです。
 「.dll」「エントリポイントが見つかりません」をキーに検索して、たどりついたのが参考サイトです。

3. エントリポイントを探す

 「スタート」から「Visual Studio 2022」を探して、展開。  「Developer Command Prompt for VS 2022」
「Visual Studio 2022」-「スタート」→「すべてのアプリ」

 下記のような、コマンドプロンプトが開きます。

「Visual Studio 2022」-「Developer Command Prompt for VS 2022」


dumpbin /exports
 と入力して、末尾に半角スペースを入力したうえで、解析したい、「.dll」をドラッグ&ドロップします。  すると、およそ、下記のように表示が主力されます。

Microsoft (R) COFF/PE Dumper Version 14.41.34120.0
Copyright (C) Microsoft Corporation.  All rights reserved.

Dump of file D:\パス\ファイル名.dll

File Type: DLL

  Section contains the following exports for ファイル名.dll

    00000000 characteristics
           0 time date stamp
        0.00 version
           1 ordinal base
          34 number of functions
          34 number of names

    ordinal hint RVA      name

         26    0 000CCD1C CancelCard
         33    1 000C6ED0 ClosePort
          7    2 000C7550 GetCardInfo

・・・	略	・・・

         23   1F 000C6E54 pbOpenPort
         24   20 000CA418 pbReadCard
         17   21 000C5BB0 setserver

  Summary

        1000 .edata
        3000 .idata
       12000 .reloc
       12000 .rsrc
        2000 BSS
       CF000 CODE
        6000 DATA
 「ordinal hint RVA name」の行の「name」の下に表示される名称が、エントリポイントとなる名称の候補になります。  わたしがやったものでは、マニュアルに書いてあるものと、実際のエントリポイントは、最初の文字の大文字・小文字が異なっていたのでした。  マニュアルに「typo」は、いかんよね。
AbemaTV 無料体験
JETBOY