Board.KolibriOS.org
http://board.kolibrios.org/

CoffDump
http://board.kolibrios.org/viewtopic.php?f=9&t=3577
Страница 1 из 1

Автор:  0CodErr [ Пн июл 31, 2017 10:04 pm ]
Заголовок сообщения:  CoffDump

Программа выводит информацию из объектных модулей формата COFF в консоль. Скриншот вывода:
Спойлер: Показать
Вложение:
CoffDump1.PNG
CoffDump1.PNG [ 15.75 КБ | 90 просмотров ]

Не всегда все имена символов умещаются, поэтому есть опция, чтобы консоль была большего размера, например(ох уж это декорирование!):
Спойлер: Показать
Вложение:
CoffDump2.PNG
CoffDump2.PNG [ 41.44 КБ | 90 просмотров ]

Некоторые улучшения, которые можно сделать:
  • вместо значений показывать имена констант(0 -> UNDEF; -2 -> DEBUG; и т.п.)
  • декодировать поля flags
  • добавить возможность вывода в файл
  • обработка AUX-символов
К сожалению, в документации не про всё инфа есть.
В документации написано
Цитата:
typically not more than one auxiliary symbol-table
record follows a standard symbol-table record (except for .file records with long file
names).

но, как оказалось, не только "except for .file"
Например, существует "Relocation CRC", о котором objdump не знает и вместо этого показывает неверную информацию.

Или вот "line#"
Также и pedump(by Matt Pietrek).
Вот он пишет
Цитата:
I've written a PE and COFF OBJ file dumping program, PEDUMP (see Table 1), that I think provides more understandable output than DUMPBIN.

А выдаёт "<unhandled aux symbol>"

В то же время утилита от Microsoft неверно отображает, если в .file длина имени файла ровно 18 байт.
Она, видимо, считает, что это ASCIIZ, но это не так, а вот утилиты dumpobj от Digital Mars и objdump ведут себя правильно.

Вот эта документация:
'Microsoft Portable Executable and Common Object File Format Specification'
'Revision 11 – June 20, 2017
© 2017 Microsof t Corporation. All rights reserved. '
Вложение:
pecoff.pdf [788.95 КБ]
5 скачиваний


Можно считать, что эта программа — ещё один пример на Delphi под KolibriOS.

Для сборки надо в make.bat задать пути
KOLIBRIOS_PAS - path to KolibriOS.pas
KOLIBRIOS_LIB - path to KolibriOS.lib

KolibriOS.lib можно взять из темы "Delphi7 examples" viewtopic.php?f=33&t=3469

Вложение:
CoffDump.7z [6.41 КБ]
6 скачиваний

Страница 1 из 1 Часовой пояс: UTC+03:00
Powered by phpBB® Forum Software © phpBB Limited
https://www.phpbb.com/