|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Вызов функции из DLL по адресу
Доброго всем дня.
Банальный и старый вопрос про чужие DLL написанные "кем-то на С++". При отладке (взломе больше тренеровка мозга конечно..) DLL нашлись кодирующие процедуры, теперь для написания кейгена хочу использовать тот же DLL, поскольку в нем большой ХЕШ от BlowFish. Все вытаскивать нет смысла - надо просто вызвать процедуру и всё... - параметры идут в стек - адрес строки и ещё пара параметров. Знаю адрес процедуры в физической памяти от родного процесса - узнал при пошаговом трейсе в Syser. Никакой PE-explorer эти процедуры не видит. Их адреса вычисляются в "родной" программе написанной на VВ -PCode через какую-то таблицу, но это и не важно. Загрузив через LoadLibrary я могу получить старт адрес DLL у себя в проге, сравнить его с началом в "родной", высчитать смещение и - вызвать по адресу процедуру поместив данные в виде указателей на строки в стек. Вот этот процесс и синтаксис меня и интересует ))) (пишу на Delphi6, про закон и пр.. говорить не надо, прога давно сломана и ей более 10 лет ) |