Сейчас на форуме: tyns777, JustLife, zds, 2nd, morgot, Rio, CDK123, tihiy_grom (+4 невидимых)

 eXeL@B —› Программирование —› инжект exe в процесс
Посл.ответ Сообщение

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

Создано: 31 января 2009 22:28
· Личное сообщение · #1

Имеем либу Ms-Rem'a advApiHook, есть там две функи InjectExe и InjectThisExe. есть сампл к InjectThisExe
из статьи
Code:
  1. ....
  2. {$IMAGEBASE $13140000}
  3. ....
  4. ZeroMemory(@StartInf, SizeOf(TStartupInfo));
  5. CreateProcess(nil, 'calc.exe', nil, nil, false, 0, nil, nil, StartInf, ProcInf);
  6. InjectThisExe(ProcInf.hProcess, @Main);


@Main эт адресс функции которую мы хотим выполнить в контексте чужого процесса.

пример прекрасно работает.

теперь пытаюсь заюзать InjectExe
Code:
  1. //проэцирую в память
  2. filename:='1.exe'; // ImageBase = $13140000
  3. FHandle:= CreateFile(PChar(FileName), GENERIC_READ or GENERIC_WRITE, FILE_SHARE_READ or FILE_SHARE_WRITE,nil,OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL,0);
  4.  
  5.  HMMF:= CreateFileMapping(FHandle,nil,PAGE_READWRITE,0,0,0);
  6.  Data := MapViewOfFile (HMMF, FILE_MAP_READ, 0, 0, 0 );
  7.  
  8. PHandle := OpenProcess(PROCESS_ALL_ACCESS,false, GetProcessId('calc.exe'));
  9. InjectExe(PHandle, Data);


проверки все убранны, чтоб не загромождать код) вообщем не получаеться заинжектить таким образом exe, калькулятор падает, причем если раньше просто память выделяться не хотела(ну эт все видимо из-за ИмайджБэйс) то пошаманив с бубном получаю ошибку что мол WriteVirtualMemory выполнилась не полностью, т.е. не все записали. В чем может быть проблема?! Впринципе у файлов одна и таже ImageBase ток, когда себя мы инжектим рабоатет, а когда стороннее прииложение то нет)

Может я конечно олень, и чего то очевидного не заметил, у меян бывает такое иногда, но сейчас я прям зациклился не могу догнать в чем трабла. зв рание спс)




Ранг: 355.4 (мудрец), 55thx
Активность: 0.320
Статус: Uploader
5KRT

Создано: 01 февраля 2009 01:31
· Личное сообщение · #2

Привилегии на отладку процеса включи

-----
Gutta cavat lapidem. Feci, quod potui. Faciant meliora potentes




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

Создано: 01 февраля 2009 16:44
· Личное сообщение · #3

coderess дык я и так ее включил на всякий случай) без нее впринципе тоже самое.




Ранг: 355.4 (мудрец), 55thx
Активность: 0.320
Статус: Uploader
5KRT

Создано: 05 февраля 2009 11:19
· Личное сообщение · #4

FILE_MAP_READ or FILE_MAP_WRITE

З.Ы. Используй отладчик, сусер или сайс. Поставь бряк
на начало внедряемого процесса и отлаживай

-----
Gutta cavat lapidem. Feci, quod potui. Faciant meliora potentes



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


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