MZ/PE: Может ли в исполняемом модуле быть два сегмента с кодом?

yolki

win32.
пусть кроме .text есть ещё .text2 со своим адресом загрузки и т.п...
флаги у него такие же -
Flags 60000020: Text Executable Readable
и там свой код, как бы рядом...

SPARTAK3959

Конечно может. А может его вообще не быть. Флаг executable по-моему под виндой вообще ни на что не влияет (за исключением возможно win16) .

katrin2201

А виндовый DEP это не про то?

SPARTAK3959

Да, на DEP этот флаг влияет - что-то я о нем не подумал. Но все равно можно создавать программы без сегментов кода. Для этого нужно выставить выравнивание секции (в памяти) в меньше чем 4096 байт, тогда все атрибуты будут проигнорированы. Ну или создать сегмент кода/изменить права существующего сегмента в стартовом коде одной из dll'ек.
Оставить комментарий
Имя или ник:
Комментарий: