Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.07.31;
Скачать: 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 вся ветка

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

Наверх




Память: 0.48 MB
Время: 0.012 c
3-100597
urich
2003-07-09 10:30
2003.07.31
Перенос таблицы из одной БД в другую


3-100620
LinOS
2003-07-09 08:24
2003.07.31
Как получить пользователя из SQLConnection??


14-100911
Spa81
2003-07-14 18:18
2003.07.31
TurboPower Async Professional


14-100896
clickmaker
2003-07-11 20:04
2003.07.31
Офис 2000 и ХР не ставится на 2000 сервак (!!!)


14-100981
Soft
2003-07-10 11:23
2003.07.31
Пишушие CD-ROM