Вопрос Kernel32 WinError[998]

Новичок
Статус
Оффлайн
Регистрация
21 Май 2021
Сообщения
13
Реакции[?]
0
Поинты[?]
0
Я перепробовал всё, нихуя не помогло. Помогите пожалуйста с данной проблемой, вывод 0 \ [WinError 998] Неверная попытка доступа к адресу памяти.

Не работает
Python:
pHandle = kernel32.OpenProcess(PROCESS_VM_WRITE | PROCESS_VM_OPERATION, False, process_id) [WinError 0] Операция успешно завершена.
allocated_memory = kernel32.VirtualAllocEx(pHandle, 0, len(data), VIRTUAL_MEM, PAGE_READWRITE) [WinError 0] Операция успешно завершена.

Заметил что именно здесь ошибка.
kernel32.WriteProcessMemory(pHandle, allocated_memory, data, len(data), 0) [WinError 998] Неверная попытка доступа к адресу памяти.
И

Работает
C++:
HANDLE h_proces = OpenProcess(PROCESS_ALL_ACCESS, false, proc_id);
void* allocated_memory = VirtualAllocEx(h_proces, nullptr, strlen(data.c_str()), MEM_RESERVE | MEM_COMMIT, PAGE_READWRITE);
WriteProcessMemory(h_proces, allocated_memory, data.c_str(), strlen(dll_name.c_str()), nullptr)

В чём разница?
 
Последнее редактирование:
Пользователь
Статус
Оффлайн
Регистрация
11 Июн 2020
Сообщения
177
Реакции[?]
82
Поинты[?]
0
Пожалуйста, авторизуйтесь для просмотра ссылки.

Разница в том, что во втором варианте ты открываешь процесс с флагом PROCESS_ALL_ACCESS, а в первом только с
PROCESS_VM_WRITE и PROCESS_VM_OPERATION. Скорее у него просто нет туда доступа :roflanEbalo:
 
Новичок
Статус
Оффлайн
Регистрация
21 Май 2021
Сообщения
13
Реакции[?]
0
Поинты[?]
0
Пожалуйста, авторизуйтесь для просмотра ссылки.

Разница в том, что во втором варианте ты открываешь процесс с флагом PROCESS_ALL_ACCESS, а в первом только с
PROCESS_VM_WRITE и PROCESS_VM_OPERATION. Скорее у него просто нет туда доступа :roflanEbalo:

"Я перепробовал всё" И это не исключение.
 
Последнее редактирование:
Сверху Снизу