eXeL@B —› Программирование —› Базонезависимый код |
Посл.ответ | Сообщение |
|
Создано: 07 февраля 2007 15:34 · Личное сообщение · #1 здр. Делаю инжект в процесс, всё по стандарту, резервирую память (VirtualAllocEx) пишу в неё (WriteProcessMemory) и вызываю CreateRemoteThread всё нормально поток стартует. Олькой подрубаюсь к процессу, процесс падает при старте нового потока, адрес старта потока равен адресу моей функции которую я указал в CreateRemoteThread , но там ничего нет, просто нули в памяти процесса, вопрос как может такое произойти если WriteProcessMemory возвращяет (dwWritten) количество записанных байт равное размеру моего EXE. А в памяти у процесса куда внедряюсь ничего нет www.everfall.com/paste/id.php?37xpw0ltonov код |
|
Создано: 08 февраля 2007 03:28 · Поправил: NetSpider · Личное сообщение · #2 Я функцией CreateRemoteThread пока не баловался, но есть предположения: 1. Компилятор мог разместить функции RemoteMain RemoteMainEnd в разных местах и тогда DWORD(&RemoteMainEnd)-DWORD(&RemoteMain) будет неверно. Проверить можно только в отладчике. 2. Каким образом организован выход из потока, созданного CreateRemoteThread? 3. Немного не понял это ret = WriteProcessMemory(Process,dwNewModule,EntryPoint, DWORD(&RemoteMainEnd)-DWORD(&RemoteMain), &dwWritten); Делается инженкт кода в функции RemoteMain? Тогда почему адрес с которого будем переписывать код явл-ся EntryPoint? Правильнее тогда ret = WriteProcessMemory(Process,dwNewModule,&RemoteMain, DWORD(&RemoteMainEnd)-DWORD(&RemoteMain), &dwWritten); |
|
Создано: 08 февраля 2007 04:00 · Личное сообщение · #3 1. В компиляторе смотрел по поводу адресов функций, всё норм. 2. Выход из CreateRemoteThread ? Функция которая стартует просто делает return 0; фактически базонезависимый код 3. ну смотри выше в коде bool ret=false; ret = WriteProcess.. return ret; EntryPoint это и есть RemoteMain : меня беспокоет то что dwWritten возвращяет 150 кб ( размер EXEшника моего ) а в процессе куд инжекчусь ничего нет по адресу куда инжектил |
|
Создано: 08 февраля 2007 04:17 · Личное сообщение · #4 |
|
Создано: 08 февраля 2007 04:20 · Личное сообщение · #5 |
|
Создано: 08 февраля 2007 05:22 · Личное сообщение · #6 |
|
Создано: 08 февраля 2007 05:29 · Личное сообщение · #7 |
|
Создано: 08 февраля 2007 05:44 · Личное сообщение · #8 |
eXeL@B —› Программирование —› Базонезависимый код |