Я пытаюсь ввести заглушку в 64-битный процесс Windows из моего 32-битного процесса, а затем удаленно запустить поток в процессе x64. Это вызывает некоторые проблемы, потому что winapi's CreateRemoteThread выбрасывает код ошибки 5, который переводит на ERROR_ACCESS_DENIED
, независимо от того, какие флаги я использую при вызове OpenProcess. Я читал, что это связано с тем, что Windows не позволит впрыскивать «кросс-платформу», но я не думаю, что это проблема, поскольку код вводит штраф.CreateRemoteThread, ошибка 5
Я использую GetLastError()
сразу после вызова CreateRemoteThread()
и показывает код ошибки 5.
Я использую этот набор флагов для OpenProcess
, без успеха:
PROCESS_CREATE_THREAD | PROCESS_VM_OPERATION | PROCESS_VM_READ | PROCESS_VM_WRITE
, а также только PROCESS_ALL_ACCESS
.
У кого-нибудь есть идея, что может вызвать эту ошибку?
Просто, чтобы быть уверенным; нет никакого способа обойти это? –
Круглый, чтобы использовать 64-битный процесс! –
Хорошо, спасибо, хотя это не вариант, поскольку мне пришлось бы переписать все приложение –