Сейчас на форуме: zombi-vadim, zds (+4 невидимых)

 eXeL@B —› Программирование —› Перехват API
<< . 1 . 2 . 3 .
Посл.ответ Сообщение

Ранг: 9.6 (гость)
Активность: 0.010
Статус: Участник

Создано: 06 мая 2007 20:16
· Личное сообщение · #1

люди добрые помогите!Задача такая нада при вызове определенной API передать управление моей проге.
Если у кого есть исходники на masm залейте куданить плизз.
зарание сенкс и извините за возможное повторение темы но в поиске я ниче нинашел!




Ранг: 990.2 (! ! !), 380thx
Активность: 0.680
Статус: Модератор
Author of DiE

Создано: 25 сентября 2013 10:28
· Личное сообщение · #2

volopas там по сути важен лишь hProcess, второй параметр побоку. так что можно и удаленно дернуть её. а если нужно что-то сложнее вызывать, внедряйте шеллкод.

-----
[nice coder and reverser]




Ранг: 6.8 (гость), 1thx
Активность: 0.020
Статус: Участник

Создано: 25 сентября 2013 11:41
· Личное сообщение · #3

>>а если нужно что-то сложнее вызывать, внедряйте шеллкод.

Я так и догадывался, спасибо. Просто модератор из Майкрософт начал пургу нести и ввел всех в заблуждение. Думал , что CreateRemoteProcess при ссылке на структуру будет создавать удаленный поток с по другому адресу, где должен был бы быть цикл из PUSH-ов. Но похоже нету такого. Кстати если это структура, то как CreateRemoteProcess может определить конец структуры? Либо нужно задавать размер в лоб , либо чтобы был какой-то терминаторный байт (слово, двойное слово), однако в таком случае невозможно отличить терминаторный байт от тела самой структуры. Короче пурга.



Ранг: 301.4 (мудрец), 194thx
Активность: 0.170.01
Статус: Участник

Создано: 25 сентября 2013 12:07 · Поправил: Veliant
· Личное сообщение · #4

volopas пишет:
CreateRemoteProcess

CreateRemoteThread

volopas пишет:
как CreateRemoteProcess может определить конец структуры

А ей это зачем? Она указатель дальше в функцию потока передаст и все.
В общем случае вам нужна либо функция с одним параметром (ExitProcess), либо инжектить заглушку вида
Code:
  1. procedure meTerminateProcess(args: TArguments);
  2. begin
  3.     TerminateProcess(args.hProcess, args.dwCode);
  4. end;

В данном случае meTerminateProcess получает на вход указатель на структуру и сама знает какого она размера.

Каша у вас в голове



Ранг: 6.8 (гость), 1thx
Активность: 0.020
Статус: Участник

Создано: 25 сентября 2013 14:06 · Поправил: volopas
· Личное сообщение · #5

Veliant
>> 4) CreateThreadEx(....fnaddr, dstaddr..)
>> В данном случае meTerminateProcess получает на вход указатель на структуру и сама знает какого она размера.

Так это и называется "шелл".

___________________
>>А ей это зачем?

Предполагалось (по крайней мере такой смысл вкладывал модератор Майрософта) , что CreateRemoteThread своими силами занесет в стек все параметры для процедуры на стороне целевого процесса.
___________________
Да в общем-то все понятно для меня. Я в отличии от некоторых проверяю код в Ольге. Просто тогда неясен посыл в этом сообщении .
И так, и так надо "городить шеллы". И неясно, что хотел сказать пресловутый модератор...
=================

Как в моем приложении узнать , что удаленный поток в целевом приложении уже завершился?
WaitForSingleObject(handle, INFINITE);
Вместо handle нужно подставлять hProcess или hThread? Если подставлять hProcess , то моя программа ждет вечно. В чем ошибка?




Ранг: 72.3 (постоянный), 133thx
Активность: 0.380
Статус: Участник

Создано: 25 сентября 2013 19:31
· Личное сообщение · #6

volopas

> Вместо handle нужно подставлять hProcess или hThread?

Слушай, не еби мозги не себе не другим, а возьми и почитай матчасть, хотя бы на мсдн.



Ранг: 20.7 (новичок)
Активность: 0.010
Статус: Участник

Создано: 25 сентября 2013 19:54
· Личное сообщение · #7

Dr0p, как ты ещё про INFINITE не зарядил.


<< . 1 . 2 . 3 .
 eXeL@B —› Программирование —› Перехват API
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати