Русский / Russian English / Английский

Сейчас на форуме: Adler, sss123 (+3 невидимых)
 · Начало · Статистика · Регистрация · Поиск · ПРАВИЛА ФОРУМА · Язык · RSS ·

 eXeL@B —› Вопросы новичков —› Вопрос по CreateProcessA
Посл.ответ Сообщение

Ранг: 248.8 (наставник)
Статус: Участник

Создано: 9 июня 2013 02:28 New!
Цитата · Личное сообщение · #1

Есть некая программа, запускающаяся в одном экземпляре, пытаюсь запустить ее в двух.
Логика следующая:
Приложение A выполняет CreateProcessA с параметрами CREATE_SUSPENDED|NORMAL_PRIORITY_CLASS|CREATE_NEW_PROCESS_GROUP и тем самым запускает Приложение Б, далее инжектит некую библиотеку в Приложение Б и затем выполняет ResumeThread.
Запарка произошла в том, что первый экземпляр стартует как и положенно, а вот второй при вызове CreateProcessA, возвращает ERROR_RESOURCE_TYPE_NOT_FOUND в GetLastError. Объясните пожалуйста, что означает эта ошибка и причину ее возникновения. Пальцы в кровь сгуглил, но так и не нашел внятного описания.


Code:
  1. 0018FA94   00000000  |ModuleFileName = NULL
  2. 0018FA98   01D1BE20  |CommandLine = "Pril_B.exe" ----o"
  3. 0018FA9C   00000000  |pProcessSecurity = NULL
  4. 0018FAA0   00000000  |pThreadSecurity = NULL
  5. 0018FAA4   00000000  |InheritHandles = FALSE
  6. 0018FAA8   00000224  |CreationFlags = CREATE_SUSPENDED|NORMAL_PRIORITY_CLASS|CREATE_NEW_PROCESS_GROUP
  7. 0018FAAC   00000000  |pEnvironment = NULL
  8. 0018FAB0   01D1BFC4  |CurrentDir = "F:\MPS"
  9. 0018FAB4   0018FAF8  |pStartupInfo = 0018FAF8
  10. 0018FAB8   0018FAE8  \pProcessInfo = 0018FAE8

Ранг: 219.7 (наставник)
Статус: Участник

Создано: 9 июня 2013 02:46 New!
Цитата · Личное сообщение · #2

Думаю параметры для Pril_B.exe нужно передавать через LPSECURITY_ATTRIBUTES lpProcessAttributes, а не через lpCommandLine. В твоем случае, ему не нравится
Code:
  1. 0018FA98   01D1BE20  |CommandLine = "Pril_B.exe" ----o"

Думаю правильнее будет
Code:
  1. 0018FA98   01D1BE20  |CommandLine = "Pril_B.exe"
  2. 0018FA9C   00000000  |pProcessSecurity =  "-v -b -j -o"


Ранг: 2006.0 (!!!!)
Статус: Модератор
retired

Создано: 9 июня 2013 09:42 New!
Цитата · Личное сообщение · #3

LPSECURITY_ATTRIBUTES lpProcessAttributes ожидает увидеть указатель на SECURITY_ATTRIBUTES, о чём тип как бэ намекает, и явно не строку. С параметрами на первый взгляд там нормально всё. Ну разве что последние 2 структуры я бы посмотрел ещё.
Лучше зайди в функу и погляди её, какую ошибку возвращает натив апи и какая именно натив апи, они более информативны.

| Сообщение посчитали полезным: TryAga1n


Ранг: 403.1 (мудрец)
Статус: Участник
"Тибериумный реверсинг"

Создано: 9 июня 2013 11:22 New!
Цитата · Личное сообщение · #4

Попробуй, на всякий случай, в CommandLine указать полностью путь к файлу, вместе с атрибутами и CurrentDir = NULL

Ранг: 219.7 (наставник)
Статус: Участник

Создано: 9 июня 2013 13:22 New!
Цитата · Личное сообщение · #5

Archer
Точно, спутал. Все из-за недосыпа
 eXeL@B —› Вопросы новичков —› Вопрос по CreateProcessA

Видеокурс ВЗЛОМ