Вниз
Скачать: 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.015 c
1-100727
Navi
2003-07-19 08:06
2003.07.31
Новый шрифт в компоненте


3-100553
Silver_
2003-07-07 12:44
2003.07.31
ADODataSetDeforeEdit ----> Имя текущего поля


14-100897
R@nger
2003-07-14 13:58
2003.07.31
UUE Decode


3-100627
Term
2003-07-10 10:36
2003.07.31
Нужно выбрать максимальное значение столбца


1-100808
Ткаченко Сергей
2003-07-17 09:47
2003.07.31
Access violation...




   Наверх