Вниз
Скачать: 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.016 c
4-101014
mpe
2003-05-25 16:18
2003.07.31
Как в Win98SE изменить время создания каталога?


3-100547
avch
2003-07-11 12:34
2003.07.31
FastReport


1-100681
uhhax
2003-07-18 04:51
2003.07.31
Почему прога так много ест памяти?


3-100647
Hollywood
2003-07-09 21:05
2003.07.31
трассировать sql запросы в Interbase?


1-100788
so_well
2003-07-16 15:15
2003.07.31
olecontainer и blobstream




   Наверх