Тема: DLL
Показать сообщение отдельно
  #6  
Старый 19.04.2007, 14:43
Аватар для Keygenmusic
Keygenmusic Keygenmusic вне форума
Активный
 
Регистрация: 24.10.2005
Адрес: Там
Сообщения: 201
Репутация: 20
По умолчанию

ну имя длл-ки и ф-ции узнаешь в процессе программы, поэтому через GetProcAddress получишь её адрес(указатель соответственно), потом, наверное, можно применить ассемблерную вставку, где в цикле с нужным кол-вом циклов делается push переменных и в конце call ProcAddress. допустим входные переменные пишем в массив var[i].
ну как-то так:
lea eax,var[0]
mov ecx, NumVars
loop1: push eax // в данном случае пушаться не сами переменные, а поинтеры на них. если надо сами переменные, то писать push [eax]
add eax,4 //4 байта размер интежера/дворда
loop loop1
call ProcAddress
//в еах будет лежать возвращенное ф-цией значение.

не отвечаю за работоспособность этого кода, т. к. слабо знаком с синтаксисом дельфовского ассемблера.

ЗЫ и правда 5 баллов за вопрос. хто найдёт как это без асма сделать - тот маладэц!
Ответить с цитированием