Программирование для Windows NT (том 2)


Анализ DLL-библиотек при помощи программы dumpbin.exe


В комплекте системы разработки Microsoft Visual C++ входит программа dumpbin.exe, предназначенная для запуска из командной строки.  С помощью этой утилиты вы сможете проанализировать содержимое любого загрузочного файла в формате COFF, в том числе DLL-библиотеки, определив имена экспортируемых функций, их порядковые номера, имена DLL-библиотек и номера функций, импортируемых из этих библиотек и т. д. Можно даже дизассемблировать секции кода с использованием таблицы символов, если такая имеется в файле.

Выберем для исследования DLL-библиотеку comdlg32.dll, в которой находятся функции для работы со стандартными диалоговыми панелями.

Вначале запустим программу dumpbin.exe, передав ей в качестве параметра имя DLL-библиотеки:

c:\msdev\bin>dumpbin comdg32.dll > lst.txt

Перед запуском программы dumpbin.exe мы скопировали файл comdg32.dll в каталог c:\msdev\bin.

Программа запишет в файл lst.txt информацию о типе файла (DLL-библиотека) и перечислит названия секций и их размер, как это показано ниже:

Microsoft (R) COFF Binary File Dumper Version 3.10.6038

Copyright (C) Microsoft Corp 1992-1996. All rights reserved.

Dump of file comdlg32.dll

File Type: DLL

     Summary

        4000 .data

        1000 .edata

        2000 .rdata

        2000 .reloc

        9000 .rsrc

       17000 .text

Ниже мы перечислили названия некоторых стандартных секций (полное описание вы найдете в документации, которая поставляется в составе использованного вами средства разработки приложений для Microsoft Windows NT):

Название

Описание

.data

Секция инициализированных данных

.text

Секция кода

.rdata

Данные, которые можно только читать во время выполнения

.edata

Таблица экспортируемых имен

.reloc

Таблица перемещений

.rsrc

Ресурсы

.bss

Секция неинициализированных данных

.xdata

Таблица обработки исключений

.CRT

Данные библиотеки C, которые можно только читать во время выполнения

.debug

Отладочная информация

.tls

Локальная память задач

<


- Начало -  - Назад -  - Вперед -