Сейчас на форуме: asfa, Rio, _MBK_, Adler (+8 невидимых)

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

Ранг: 262.5 (наставник), 337thx
Активность: 0.340.25
Статус: Участник

Создано: 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:
  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




Ранг: 221.3 (наставник), 135thx
Активность: 0.190.07
Статус: Участник

Создано: 09 июня 2013 02:46
· Личное сообщение · #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"


-----
xchg dword [eax], eax





Ранг: 2014.5 (!!!!), 1278thx
Активность: 1.340.25
Статус: Модератор
retired

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

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

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

Ранг: 419.0 (мудрец), 647thx
Активность: 0.460.51
Статус: Участник
"Тибериумный реверсинг"

Создано: 09 июня 2013 11:22
· Личное сообщение · #4

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



Ранг: 221.3 (наставник), 135thx
Активность: 0.190.07
Статус: Участник

Создано: 09 июня 2013 13:22
· Личное сообщение · #5

Archer
Точно, спутал. Все из-за недосыпа

-----
xchg dword [eax], eax



 eXeL@B —› Вопросы новичков —› Вопрос по CreateProcessA
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати