Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.02.24;
Скачать: CL | DM;

Вниз

Таблица секций в Exe-шники   Найти похожие ветки 

 
Nick_N_A ©   (2003-02-01 06:06) [0]

PE-формат - пока для меня неочень понятная вещь,
никто случайно не получал списки секций, их адрес и длинну,
не могли бы поделится кодом, если нет - что ж, несколько дней помучаюсь - разберусь


 
MrBeer ©   (2003-02-01 15:49) [1]

Moi starii ishodnik, srazu hochu skazat" chto on chisto eksperimentalnii, tak chto ne stoit ozhidat" krasoti i stabil"nosti.

http://www.velns.org/valts/delphi/pe.pas


 
Nick_N_A ©   (2003-02-02 06:57) [2]

Большое спасибо, кстати хочу писать редактор res-файлов, заодно
решил что можно переделывать EXE-шники


 
Игорь Шевченко ©   (2003-02-03 10:48) [3]

Цикл статей в журнале "Программист" за 2002 год - что такое PE-файл, из чего он состоит и как с ним бороться.


 
Mystic ©   (2003-02-03 12:16) [4]

Определения некоторых структур можно найти в $(DELPHI)\Demos\rxtypes.pas

Далее примеры относятся к файлу delphi32.exe версии 6.0.6.163

Согласно спецификации формата Win PE:

1) Читаешь слово по смещению $3С от начала EXE-файла. Это смещение PE-заголовка. Для нашего файла это 003C: $00 $01, т. е. с учетом того, что старший байт идет последним, получаем $0100, или PE-заголовок начинается со смещения $100.


2) Идем по адресу $100. Там должно стоять "PE"#0#0. Стоит.


3) Далее читаем заголовок сигнатуры PE-файла:
PIMAGE_FILE_HEADER = ^IMAGE_FILE_HEADER;
IMAGE_FILE_HEADER = packed record
Machine : WORD;
NumberOfSections : WORD;
TimeDateStamp : DWORD;
PointerToSymbolTable : DWORD;
NumberOfSymbols : DWORD;
SizeOfOptionalHeader : WORD;
Characteristics : WORD;
end;


Для нашего файла:
00000100: 50 45 00 00 4C 01 06 00


 
MrBeer ©   (2003-02-03 20:01) [5]


> Mystic © (03.02.03 12:16)


nu ti prjamo geroi razpisivat" vse :D


 
Mystic ©   (2003-02-03 20:50) [6]

> nu ti prjamo geroi razpisivat" vse :D

Недавно сталкивался, кое-что еще помню...



 
Nick_N_A ©   (2003-02-04 07:37) [7]

спасибо Mystic,

я как-то случайно наткнулся на приложение, где PE был
не стандартно размещен, и выровнян по 8-байт границам, кратен 8, не кратен 16 (обычно кратен 16).
Hiew-ом я уже давно находил секции и их расположение, только не мог понять, кто на них ссылается.

p.s. Я разобрался с заголовками ресурсов
TResourceHeader, ResData,TResourceHeader, ResData, ....
TResourceHeader-хитрая структура, ее размер не всегда постоянен . . .


 
Mystic ©   (2003-02-04 12:54) [8]

> Nick_N_A © (04.02.03 07:37)
> p.s. Я разобрался с заголовками ресурсов


Напиши статью, людям польза будет ;)


 
Игорь Шевченко ©   (2003-02-04 13:01) [9]

Mystic © (04.02.03 12:54)

Дык, в "Программисте" все уже подробно написали :-)


 
Mystic ©   (2003-02-04 15:46) [10]

MSDN читал, Программист не читал :(


 
gsu ©   (2003-02-04 15:51) [11]

>> Напиши статью, людям польза будет ;)
Так и книжку даже уже написали, у мя где-то на антресоли валяется (-:|~


 
Mystic ©   (2003-02-04 17:01) [12]

Даже если статью уже написали, то все равно имеет смысл написать:

1) Лучше разберешься в теме.
2) Практика в выражении собственных мыслей.
3) Будешь знать где искать потом.
4) Возможно получится лучше и интереснее.


 
Nick_N_A ©   (2003-02-06 05:56) [13]

Я подумаю, идея неплохая.
Надоели всякие Exescope и ResourceHackers которые толком менять их не умеют, а при большом размере просто виснут



Страницы: 1 вся ветка

Текущий архив: 2003.02.24;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.013 c
14-76135
gn
2003-02-07 12:06
2003.02.24
сша хочет по воевать


3-75800
LazorenkoX
2003-02-06 13:22
2003.02.24
SQLы


14-76178
Malder
2003-02-06 22:19
2003.02.24
Вирус в дельфях


1-76032
Anatoliy
2003-02-13 16:20
2003.02.24
Проверка среды запуска программы.


3-75820
wizzo
2003-02-06 18:56
2003.02.24
помогите сделать запрос!