Выполняю инжекцию в чужой процесс через CreateRemoteThread и далее пытаюсь выполнить post запрос через WSAStartup, connect, send. Инжеция выполняется нормально, но запрос выполныется только после закрытия процесса, в который выполняется инжект. хз почему вообще понять не могу. Хотя весь код полностью выполняется, также ошибок функция send не возвращает. народ есть ли какието тонкости при выполнении запроса после инжекта? зарание спасибо
нет, нихуя нет. send ошибок не возвращает, но ws2_32.dll не подгружена. очень умно но тут тоже "умный" ответ код или длл... мда неа Сам себе противоречишь - только же сказал что запрос не выполняется, но теперь говоришь что send() и вообще весь код выполняется. В чем же тогда вообще проблема?
2KEZ >>код или длл... мда ШО ДА? Можно внедрить в процес dll ку а можно просто шелкод и дать ему управление ? В чем проблема?
Если внедряешь в процесс свою Dll попробуй так: void APIENTRY DllMain( HANDLE hModule,DWORD ul_reason_for_call,LPVOID lpReserved) { switch(ul_reason_for_call) { case DLL_PROCESS_ATTACH: { HANDLE hThread ; DWORD ThreadId ; hThread = CreateThread( NULL, 0,&Name_Of_Function, NULL, 0, &ThreadId ) ; CloseHandle(hThread); } case DLL_PROCESS_DETACH: break; case DLL_THREAD_ATTACH: break; case DLL_THREAD_DETACH: break; } } где Name_Of_Function - имя функции с твоими действиями. Если ты внедряешь код - надо видеть сорц (кусок с внедрением)
Я выполняю инжект ФУНКЦИИ, после ижекции выполныется код этой функции. к примеру ... if (send(...)) MessageBox(..); ... MessageBox покажет но запрос не выполняется. затем если закрывать процесс в который выполняли инжект то выполняется запрос. вобщем вот кусок кода Code: delete
Скомпилил твой сорц(НОД орет правда ) У меня запрос выполняется мгновенно... Че т с системой имхо. Скомпиль. Настрой на инет на хакачку или сделай простой гет к сайту. Выложи exe сюда И пусть кто нить еще потестит
Ну у тя запрос идет на локальный ресурс. Ни у кого такого нет. Сделай из проги запрос в инет куда нить на античат например. Или лей че нить с него для пробы. Скомпиль прогу. Обьясни что надо запустить блокнот а потом твой поргу - ну как ее юзать короче И выложи бинарник сюда. Пусть еще кто нить попробует! Лично у меня инжект отработал верно и мгновенно при запуске проги. Никакого закрытия блокнота ждать не пришлось.
подумай перед тем как писать откуда ты знаешь что там будет выполнятся? и второй косяк вначале написал что все отлично а потом спрашиваешь как пользоватся а локальный сервак? другие мнения есть по проблеме?
1) Что ты там напишешь и кто тебе поверит и запустит - это уже не твоя забота! Помогут если захотят. 2) Я не для себя спрашиваю - я скомпилил и у меня все отработало. Я имелл виду скомпилить exe и попросить ачатовцев его затестить (или пусть скомпилят твой сорц сами) и пояснить что нужно для теста я говорю о том что сначала запустить блокнот пустить его в инет и т.п. Отработало у меня сразу, блокнота закрывать не пришлось. ИМХО у тя чет с системой - код рабочий.
не понимаю твоего отработало ижект выполнился те ты увидел pMessageBox(NULL, pInfo->szUrl, 0, 0); но как убедился что запрос пришел на сервак? если ты не имеешь локального сервака
ну вопервых SOCKET_ERROR приводится к true так что "if(!s)" не проверить произошла ли ошибка при создании сокета, то же самое и с send. а вообще раз человек сказал что у него это выполнилось значит у него на то были причины, а по поводу ехешника, давай проверю на виртуалке, мне будет без разницы что там будет выполняться.
В том то и дело что не имею. Он сказал что не могу выполнить запрос к серверу такому то. Значит запрос пошел от имени блокнота. И сразу а не после его закрытия
Ты мне прислал сорц в котором инжектит происходит именно в блокнот. Сам то инжектил в осла или тоже в блокнот? Может в этом собака порылась? (модеры почистите тут потом а то мусорно уже ИМХО )
еще так и не нашел где у тебя формируется запрос к http серверу, подозреваю у тебя на 80 порту апач или что то типа того, раз "POST http://localhost/gate/getcommand.php?getcommand=1" а не самопальный програмулька, если так то нужно формировать запрос, а лучше напиши свою, делов то на десяток строчек
да стоит апач а это разве не запрос? strcpy(info.szUrl, "POST http://localhost/gate/getcommand.php?getcommand=1"); а потом if (!p_send(s, pInfo->szUrl,(int)strlen(pInfo->szUrl),0))
ВСЕ тема закрыта нашел ошибку оказалось как всегда все гениально и просто надо было в конце запроса добавить "/n/n" всем большое спасибо