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

 eXeL@B —› Программирование —› Проблема с CodeInjection в МАСМЕ
Посл.ответ Сообщение


Ранг: 95.2 (постоянный)
Активность: 0.040
Статус: Участник

Создано: 13 января 2009 12:26
· Личное сообщение · #1

вобщем собственно код:
Code:
  1. include   windows.inc
  2. include   kernel32.inc
  3. include   user32.inc
  4. includelib        user32.lib
  5. includelib        kernel32.lib
  6. E PROTO
  7. .data
  8. MsgCaption       db "WinAsm Template",0
  9. MsgBoxText      db "This is a bare bones exe application.",0
  10. programname        db "C:\Windows\notepad.exe"
  11. processInfo PROCESS_INFORMATION <>
  12. startInfo STARTUPINFO <>
  13. szUser32          byte 'USER32.DLL', 0
  14. .data?
  15. PID               DWORD ?
  16. hProcess                  DWORD ?
  17. hModule            DWORD ?
  18. hNewModule                           DWORD ?
  19. dwSize             dword ?
  20. dwBytesWritten                dword ?
  21. .code
  22. E proc
  23. invoke LoadLibrary,ADDR szUser32
  24. invoke MessageBox, NULL,addr MsgBoxText, addr MsgCaption, MB_OK
  25. invoke ExitThread,0
  26.          Ret
  27. E EndP
  28. start:
  29.          invoke GetModuleHandle, 0
  30.          mov hModule, eax
  31.          mov edi, eax 
  32.          assume edi:ptr IMAGE_DOS_HEADER 
  33.          add edi, [edi].e_lfanew
  34.          add edi, sizeof dword
  35.          add edi, sizeof IMAGE_FILE_HEADER
  36.          assume edi:ptr IMAGE_OPTIONAL_HEADER32 
  37.          mov eax, [edi].SizeOfImage
  38.          mov dwSize, eax
  39.          assume edi:NOTHING
  40.           invoke CreateProcess,ADDR programname,NULL,NULL,NULL,FALSE,\ 
  41.                                      NORMAL_PRIORITY_CLASS,\ 
  42.                                      NULL,NULL,ADDR startInfo,ADDR processInfo
  43.           mov eax,processInfo.dwProcessId
  44.           mov PID,eax
  45.           invoke OpenProcess,PROCESS_ALL_ACCESS,FALSE,PID
  46.           mov hProcess,eax
  47.           invoke VirtualFreeEx, hProcess, hModule, 0, MEM_RELEASE
  48.          invoke VirtualAllocEx, hProcess, hModule, dwSize, MEM_COMMIT or MEM_RESERVE, PAGE_EXECUTE_READWRITE
  49.          mov hNewModule, eax
  50.          invoke WriteProcessMemory, hProcess, hNewModule, hModule, dwSize, addr dwBytesWritten
  51.          invoke CreateRemoteThread, hProcess, 0, 0, addr E, hModule, 0, addr PID
  52.          invoke ExitProcess,NULL
  53. end start

Вобщем на VirtualAllocEx происходит ошибка: код 487 - Попытка обращения к неверному адресу
Ткните носом, что я не так делаю...
ЗЫ: Связываться с инжектом через длл не хочу категорически....

-----
бессмысленные манипуляции не становятся более разумными если их повторять





Ранг: 681.5 (! !), 405thx
Активность: 0.420.21
Статус: Участник
ALIEN Hack Team

Создано: 13 января 2009 13:15 · Поправил: ARCHANGEL
· Личное сообщение · #2

SecurAdmin
Конечно неверный адрес, ты ведь пытаешься выделить блок памяти, который, скорее всего, имеет значение 00400000, т.е. вероятная база образа твоего экзешника, а в перехватываемом процессе эти адреса тоже заняты, т.е. ты его получаешь через
Code:
  1. invoke GetModuleHandle, 0 
  2.          mov hModule, eax

Тебе нужно 0 передать вместо второго параметра и всё заработает. Вот так:
Code:
  1.  invoke VirtualAllocEx, hProcess, 0, dwSize, MEM_COMMIT or MEM_RESERVE, PAGE_EXECUTE_READWRITE

Можно просто MEM_COMMIT. И непонятно, зачем такой dwSize? У тебя есть shell code, у него какой-то свой размер, вот его и надо подставлять, а не SizeOfImage.

-----
Stuck to the plan, always think that we would stand up, never ran.





Ранг: 95.2 (постоянный)
Активность: 0.040
Статус: Участник

Создано: 13 января 2009 13:19
· Личное сообщение · #3

ARCHANGEL Спасибо за информацию, но трабла ушла сама собой...ничего не трогал, ни чего не менял...странно конечно..
Тема себя исчерпала. Закрываю.

-----
бессмысленные манипуляции не становятся более разумными если их повторять



 eXeL@B —› Программирование —› Проблема с CodeInjection в МАСМЕ
Эта тема закрыта. Ответы больше не принимаются.
   Для печати Для печати