Я пробовал старый пример о том, как ввести DLL в Chrome, однако, когда я использую CreateProcess
чтобы открыть chrome.exe, он, похоже, немедленно выключается и перезапускается с новым pid, противоположным тому, который хранится в dwProcessId
член PROCESS_INFORMATION
структура, которую я передаю CreateProcess
, Я также попытался сделать функцию для вычисления смещения LoadLibraryA
относительно базового адреса загрузки kernel32.dll в удаленном процессе. Я пробовал это на других процессах, таких как notepad.exe, и был успешным, поэтому я знаю свою функцию поиска функции в других процессах, даже если они не загружают kernel32 по предпочтительному адресу. Всякий раз, когда я пытаюсь загрузить DLL с LoadLibraryA
в chrome сразу же вылетает chrome, что, на мой взгляд, является функцией безопасности. Я в замешательстве и пытаюсь понять это в течение полутора месяцев. Любая информация будет глубоко цениться.
Скорее всего, если это не работает, это то, что вы делаете неправильно. Будь то попытка внедрить 64-битную DLL в 32-битный процесс или наоборот. Убедитесь, что ваша DLL имеет ту же архитектуру, что и Chrome. Если Chrome находится в Program Files(x86)
тогда это означает, что он 32-битный, и вам нужно сделать 32-битный DLL для него. И в некоторых других вопросах вы сказали, что сделали функцию для вычисления адреса LoadLibraryA
в других процессах, но поскольку вы отображаете его в свой собственный процесс, вы можете найти его адрес только в тех процессах, которые имеют одинаковую архитектуру битов. Разместите свой код.
Других решений пока нет …