![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
|
|
#1
|
||||
|
||||
|
Всем Здравствуйте! Есть такой вопрос. Есть моя длл-ка которая инжектируется в другой процесс. Так вот как мне передать параметры в процедуру (например reset(par1,par2:word), в длл-ке она есть), из своей программы?
|
|
#2
|
||||
|
||||
|
Как вариант - при инжекте зарезервировать до/после инжект-кода место под переменные, и писать туда. После чего выставить там же какой-нибудь флаг. Этот флаг проверять в цикле в ДЛЛ, и как только он выставился - сбросить и вызвать нужную функцию с нужными параметрами. Инжект-код может сказать ДЛЛ-ке свой адрес вызовом какой-нибудь специально для этого сделанной функции в самой DLL.
Только вот нескромный вопрос - ради чего такие сложности? |
|
#3
|
||||
|
||||
|
А ещё наверное так можно, библиотека ведь загружена, в смысле её копия в памяти уже есть
сначало объявить Код:
... MyProc = procedure reset(par1, par2: word); stdcall; ... Код:
...
var
proc: MyProc;
begin
@proc := GetProcAddress(HandleDll{нужно подставить}, 'reset');
proc(par1, par2);
...
end; |
|
#4
|
||||
|
||||
|
Цитата:
|
|
#5
|
||||
|
||||
|
Bargest, а че я до длл-ки не могу добратся через CreateToolhelp32Snapshot? Alegun тут как-то мне не понятно
Цитата:
|
|
#6
|
||||
|
||||
|
Цитата:
|
|
#7
|
||||
|
||||
|
Цитата:
|
|
#8
|
||||
|
||||
|
Цитата:
Код:
mov eax, param1 mov edx, param2 call reset Цитата:
Klyaksa, поясни, зачем тебе вообще это надо. Может есть решение проще. И код инжекта приведи. Последний раз редактировалось Bargest, 06.04.2014 в 00:36. |