Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.09.04;
Скачать: CL | DM;

Вниз

Как узнать адресс процелуры   Найти похожие ветки 

 
Igit   (2005-07-14 23:51) [0]

Как узнать адресс процедуры?
Я делаю так ShowMessage(IntToStr(@Form1.Thread1Execute));
но ниячего не получается...


 
Palladin ©   (2005-07-15 00:55) [1]

это не процедура, а метод, и копать нкжго в сторону VMT


 
Palladin ©   (2005-07-15 00:56) [2]

"нкжго" ошибка клавиатуры, читать как "нужно"


 
Igit   (2005-07-15 01:09) [3]

Хочу зашифровать участок кода, а потом его расшифровать.
Хочу определить адреса в файле начала процедуры и конца

Сделал так:

procedure TForm1.Button1Click(Sender: PObj);
var a: dword;
   b: dword;
const z = offset Thread1Execute;
begin

asm
xor eax, eax
MOV EAX, offset Thread1Execute
MOV a, EAX;
end;
asm
xor eax, eax
MOV EAX, offset BitBtn1Click
MOV b, EAX;
end;
ShowMessage("Начало процедуры: "+IntToHex(a, 8) + #13#10 +
           "Конец процедуры: "+IntToHex(b, 8) + #13#10 +
           "Размер процедуры в b: "+IntToStr(b-a));
end;


 
Igit   (2005-07-15 01:10) [4]

ой, строка const z = offset Thread1Execute; закомментированна


 
Defunct ©   (2005-07-15 01:18) [5]

procedure TForm1.Button8Click(Sender: TObject);
var
  NE : TNotifyEvent;
begin
  NE := Button8Click;
  ShowMessage( Format("%0.8X", [Integer(TMethod(NE).Code)]) )
end;
CODE>


 
Defunct ©   (2005-07-15 01:28) [6]

> Igit   (15.07.05 01:09) [3]

асмовые вставки у Вас - zzzzzzzzz.

> xor eax, eax не нужен.
> mov eax, offset ... тоже не нужен

достаточно:

var
 A, B : integer;
 ...

asm
 mov a, offset Thread1Execute
 mov b, offset BitBtn1Click
end;
 ShowMessage( format("A=%0.8X, B=%0.8X",[A, B]) )
 ..


 
Igit   (2005-07-15 01:31) [7]

Хм, спасибо!


 
Piter ©   (2005-07-15 02:42) [8]

Palladin ©   (15.07.05 0:56) [2]
"нкжго" ошибка клавиатуры


ну да, конечно!
Сначала напьются пыва, потом в час ночи начинают путать клавиши - а выходит клавиатуры виновата!


 
Просто Джо ©   (2005-07-15 04:36) [9]


>  [8] Piter ©   (15.07.05 02:42)
> Сначала напьются пыва, потом в час ночи начинают путать
> клавиши - а выходит клавиатуры виновата!

Коллега! Не зарекайся, нешто сам не пьешь сего? ;0)


 
Digitman ©   (2005-07-15 08:04) [10]


> адреса в файле


и где же здесь обращение к файлу ?


 
Igit   (2005-07-15 09:32) [11]

2Digitman ©   (15.07.05 08:04) [10]

Ну, тут не в файле... но если вычесть базу должно получится в файле.


 
Digitman ©   (2005-07-15 09:40) [12]


> если вычесть базу должно получится в файле


не должно.
не учитываешь смещение секции.


 
Igit   (2005-07-19 11:17) [13]

2Digitman ©   (15.07.05 09:40) [12]

Бр, а как его посчитать?


 
evvcom ©   (2005-07-19 11:24) [14]


> Бр, а как его посчитать?

Тебе это не нужно. См. [5]


 
Digitman ©   (2005-07-19 11:38) [15]


> Igit   (19.07.05 11:17) [13]


см. MAP-файл


 
evvcom ©   (2005-07-19 12:11) [16]


> не учитываешь смещение секции

Еще если процедура/метод в dll, то в память она может загрузиться не по базовому адресу.


 
Digitman ©   (2005-07-19 12:14) [17]


> evvcom ©   (19.07.05 12:11) [16]


по барабану.

реальный ImageBase завсегда известен.



Страницы: 1 вся ветка

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

Наверх




Память: 0.48 MB
Время: 0.01 c
8-1114117100
RyDmi
2005-04-22 00:58
2005.09.04
Стереовыход


1-1124085580
Zaero
2005-08-15 09:59
2005.09.04
Как убрать с формы кнопки "свернуть" и "развернуть"?


3-1122037979
Alexey Yershov
2005-07-22 17:12
2005.09.04
Источник данных не найден и не указан драйвер, используемый по ум


1-1123992098
Serg111
2005-08-14 08:01
2005.09.04
Цифровые видеокамеры PANASONIC NV-GS


1-1124035464
Zaero
2005-08-14 20:04
2005.09.04
Можно ли на ToolButton ах отображать пиктограммы слева от надписи





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский