Вниз
Скачать: CL | DM;

Можно ли по PE узнать размер ехешника   Найти похожие ветки 

← →
HolACost   (2003-07-17 16:14) [0]

Можно ли по PE узнать размер ехешника


← →
Palladin ©   (2003-07-17 16:15) [1]

размер exeшника можно узнать еще вовремя открытия этого exeшника на чтение PE...


← →
Иван Шихалев ©   (2003-07-17 16:23) [2]

Теоретически, по некоторым полям заголовка узнать размер можно. Просуммировав размер секций. Однако, сверх этого к PE может быть приклеено все, что угодно, и программа будет запускаться, если не установлен контроль суммы (как правило, не установлен).


← →
Anatoly Podgoretsky ©   (2003-07-17 16:37) [3]

Это будет уже не размер exeшника, а что то другое, размер exeшника можно узнать точно стандартными функция, например FileSize


← →
Иван Шихалев ©   (2003-07-17 16:59) [4]

МБ... Если быть точным, то размер PE-модуля можно вытащить и из заголовка, а вот размер EXE-файла - однозначно, FileSize.


← →
HolACost   (2003-07-17 17:03) [5]

А тогда как создать SFX и узнать размер самого модуля... я предполагал, что можно просто дописать данные в конец файла exe и потом считывать данные из прикреплённого с оффсетом на размер exe модуля!


← →
Иван Шихалев ©   (2003-07-17 17:09) [6]

Честно? Загнать в константу после первой компиляции. Простота - залог здоровья :)


← →
HolACost   (2003-07-17 17:12) [7]

Но это как-то неинтересно - допустим если взять SFX модуль РАРа, то его можно например запаковать(если брать специальные с сайта - едитебле которые) и всё работает, как и если не запаковывать (UPX)! Как тогда это происходит в этом случае?


← →
jel ©   (2003-07-17 17:16) [8]

А если в ресурсы положить то что нужно? UPX пакует секции вроде как, а потом в памяти распаковывает.


← →
Иван Шихалев ©   (2003-07-17 17:16) [9]

См мой первый пост и доку по PE-заголовку. Но это - путь достаточно нудный.


← →
Иван Шихалев ©   (2003-07-17 17:17) [10]

И, как вариант - циклом компилировать и паковать, пока меняться не перестанет (1-2 итерации).



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

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.013 c
1-100753
Orden
2003-07-16 15:07
2003.07.31
Rave-компоненты


4-101014
mpe
2003-05-25 16:18
2003.07.31
Как в Win98SE изменить время создания каталога?


3-100644
Term
2003-07-10 16:39
2003.07.31
Как сделать связь мастер-детальный для IB таблиц


8-100840
Вовчик
2003-04-07 10:47
2003.07.31
копирование TImage


14-100905
Till
2003-07-10 08:05
2003.07.31
HARDCORE DELPHI




   Наверх