|
Га, где берешь такую траву? Мне понравилась шутка про среду и абсолютные адреса. Не вздум...
|
Posted by: Dr.Golova on November 13, 2002 at 12:30:28
Posters Details: [212.5.80.7], X-Forwarded 4: [unknown] [Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)]
In Reply to: Re: Ты ж не прав, то среда. Posted by: :) on November 12, 2002 at 20:06:38
Га, где берешь такую траву? Мне понравилась шутка про среду и абсолютные адреса. Не вздумай при умных людях такое ляпнуть. Небыло такого и никогда не будет. А по поводу не на точке входа посмотреть, так это запросто, смотрим например WinMain, который уже явно присался программистом а не есть часть c-runtime (да, это называется так, а вовсе не "среда"). Вот создается диалог калькулятора:
с именами:
.0100176E: 68D4120001 push 0010012D4
.01001773: 53 push ebx
.01001774: FF151C110001 call CreateWindowExW ;USER32.dll
.0100177A: A31C4E0101 mov [01014E1C],eax
без имен:
00000D73: 53 push ebx
00000D74: FF151C110001 call d,[0100111C]
00000D7A: A31C4E0101 mov [01014E1C],eax
Опять импортируемая функция вызывается черз прямой вызов (и никакие это не абсолютные адреса - поэтому адресу d,[0100111C] лежит кусок Import Address Table, который собственно и есть самая главная часть таблицы импорта, после запуска программы _системой_ туда будут положены реальные адреса. Это вам не линух где даже релоки сами не накладываются. В борланде прога сначала делает call на заглушку которая выглядит как jmp d,[addr] - разве это не один хрен что сделать сразу call d,[addr] - первое только места больше занимает. Воот, ликбез окончен.
Follow Ups:
|
|