![]() |
eXeL@B —› Вопросы новичков —› Вопрос по CreateProcessA |
Посл.ответ | Сообщение |
|
Создано: 09 июня 2013 02:28 · Личное сообщение · #1 Есть некая программа, запускающаяся в одном экземпляре, пытаюсь запустить ее в двух. Логика следующая: Приложение A выполняет CreateProcessA с параметрами CREATE_SUSPENDED|NORMAL_PRIORITY_CLASS|CREATE_NEW_PROCESS_GROUP и тем самым запускает Приложение Б, далее инжектит некую библиотеку в Приложение Б и затем выполняет ResumeThread. Запарка произошла в том, что первый экземпляр стартует как и положенно, а вот второй при вызове CreateProcessA, возвращает ERROR_RESOURCE_TYPE_NOT_FOUND в GetLastError. Объясните пожалуйста, что означает эта ошибка и причину ее возникновения. Пальцы в кровь сгуглил, но так и не нашел внятного описания. Code:
![]() |
|
Создано: 09 июня 2013 02:46 · Личное сообщение · #2 Думаю параметры для Pril_B.exe нужно передавать через LPSECURITY_ATTRIBUTES lpProcessAttributes, а не через lpCommandLine. В твоем случае, ему не нравится Code:
Думаю правильнее будет Code:
----- xchg dword [eax], eax ![]() |
|
Создано: 09 июня 2013 09:42 · Личное сообщение · #3 LPSECURITY_ATTRIBUTES lpProcessAttributes ожидает увидеть указатель на SECURITY_ATTRIBUTES, о чём тип как бэ намекает, и явно не строку. С параметрами на первый взгляд там нормально всё. Ну разве что последние 2 структуры я бы посмотрел ещё. Лучше зайди в функу и погляди её, какую ошибку возвращает натив апи и какая именно натив апи, они более информативны. ![]() |
|
Создано: 09 июня 2013 11:22 · Личное сообщение · #4 |
|
Создано: 09 июня 2013 13:22 · Личное сообщение · #5 |
![]() |
eXeL@B —› Вопросы новичков —› Вопрос по CreateProcessA |