Мне нужен способ CreateRemoteThread в 64-разрядных окнах в 64-разрядных и 32-разрядных процессах. Я разобрался, как найти набор команд целевого процесса, как выделить память в целевом процессе для салазок сборки, и я почти разобрался, что делать с рандомизацией адресного пространства.
Я не знаю, как на самом деле запустить поток в удаленном процессе, если он имеет неправильный набор команд.
Обратите внимание: мне все равно, какую из двух проблем вы решите. Мой собственный exe-файл может быть 32- или 64-битным (но мне действительно нужно выбрать, прежде чем я узнаю количество битов целевого процесса).
Прежде чем кто-то пожалуется, что мне действительно не нужно этого делать, спросите Microsoft, почему я должен установить FILE_SHARE_DELETE
на всех открытых дескрипторах, прежде чем я смогу удалить файл, который используется. Нет, нет необходимости удалять файлы, открытые другим процессом.