Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
 |  |  |
ты её вызываешь в своём процессе 15.01.02 07:58 Число просмотров: 974
Автор: ggg <ggg> Статус: Elderman
|
|
|
|
<programming>
|
Вопрос по CreateRemoteThread ;-) 14.01.02 08:41
Автор: HandleX <Александр М.> Статус: The Elderman
|
|
Народ, вот я создал поток в адресном пространстве другого процесса. Там у этого процесса и дескрипторы все другие, и точки вхождения в процедуры загруженных DLL тоже. Я хочу вызвать в этом подключенном потоке GetModuleHandle и GetProcAddress. Как мне это сделать?
|
 |
Вопрос по CreateRemoteThread ;-) 14.01.02 09:33
Автор: ggg <ggg> Статус: Elderman
|
> Народ, вот я создал поток в адресном пространстве другого > процесса. Там у этого процесса и дескрипторы все другие, и > точки вхождения в процедуры загруженных DLL тоже. Я хочу > вызвать в этом подключенном потоке GetModuleHandle и > GetProcAddress. Как мне это сделать?
вариант 1)
с очень большой вероятностью GetModuleHandle() & LoadLibrary() в этом процессе имеют те же адреса, что и в твоём процессе
вариант 2)
-используешь Module32First или GetModuleInformation для получения базового адреса kernel32 в чужом процессе
-вычитаешь из адреса GetModuleHandle то, что вернёт GetModuleHandle() :)
это ты получишь RVA
- прибавляешь его к базовому адресу в чужом процессе, получаешь абсолютный адрес в чужом процессе
удачи
|
 |  |
[Win32] Не совсем понятно 15.01.02 06:57
Автор: HandleX <Александр М.> Статус: The Elderman
|
> вариант 1) > с очень большой вероятностью GetModuleHandle() & > LoadLibrary() в этом процессе имеют те же адреса, что и в > твоём процессе
> вариант 2) > -используешь Module32First или GetModuleInformation для > получения базового адреса kernel32 в чужом процессе > -вычитаешь из адреса GetModuleHandle то, что вернёт > GetModuleHandle() :) > это ты получишь RVA > - прибавляешь его к базовому адресу в чужом процессе, > получаешь абсолютный адрес в чужом процессе
Так ведь опять, для того, чтобы вызвать Module32First нужно где-то взять адрес этой процедуры... Похоже на змею, кусающую саму себя за хвост ;-)
|
 |  |  |
ты её вызываешь в своём процессе 15.01.02 07:58
Автор: ggg <ggg> Статус: Elderman
|
|
|
|
|