Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

где мои байты ???? [Delphi, Windows]


Deimos ©   (2004-04-03 11:07:00) 

ффтопик, конечно но тем не менее...
объясните мне кто-нибудь пожалуйста следующий факт..

допустим имеется программка(для примера просто вывод сообщения с цифрой)


program Project1;
uses KOL;

var
i:integer;

begin
i:=0;
showMessage(int2str(i));

end.

размер у меня в компилированном виде 6656 байт

изменяем её

program Project1;

uses KOL;
var
i:integer;

begin
i:=0;

asm          
xor eax,eax  // очищаем eax
xor edx,edx  // и edx тоже
mov eax,5    // засовываем в eax 5
mov edx,4    // засовываем в edx 4
add eax,edx  // складываем
mov i,eax    // засылаем результат в переменную i
end;         // вываливаемся обратно

showMessage(int2str(i));
end.


размер компилированном виде тоже 6656 байт
куда делся добавленный код ???


Deimos   (2004-04-05 21:31:00) [1]

Благодарю за предлджение, но структура PE мне знакома..
просто я не знал как дельфи выравнивает страницы


Delphi5.01   (2004-04-04 20:36:00) [2]

K sojaleniu mne kajetsa ne lza, kak naprime doc fail sostoit iz malenkih sektorov 64 baita i bolshih 256.
Esli sektor slishkom malenki to, v etom sluchae sama struktura FAT zanimaet bolshoe mesto, v kotoroi soderjitsa informacia o raspolojenii i posledovatelnosti etih sektorov.
Ia podrobno razobral doc fail. No exe fail soderjit pohojuiu strukturu.
Kak ia viju vam nujen malenki razmer ili dla troianca ili dla virusa, v protivnom sluchae ne mogu ponat zachem programma menshe chem 6kb.
kstati esli vas interesuet struktura exe faila mogu podelitsa. Mojet programno smojete izmenit razmer :-)


Deimos   (2004-04-04 12:59:00) [3]

а можно как нибудь изменить кратность выравнивания ??
в masm-е , помнится,  была директива линкера ALIGN:x
можно было аж до 4 уменьшить..


Владимир Кладов   (2004-04-03 12:50:00) [4]

Project|Information


SPeller   (2004-04-03 11:26:00) [5]

Потому что размер ЕХЕ растёт не побайтно, в зависимости от кода в нём. Его размер выравнивается по какой-либо границе. (н-р 512 байт, 128 байт и т.п.)


Наверх

Титульная страница Поиск, карта сайта Написать письмо