![]() |
eXeL@B —› Вопросы новичков —› Вопрос про WriteProcessMemory Delphi7 |
<< . 1 . 2 . 3 . |
Посл.ответ | Сообщение |
|
Создано: 03 ноября 2019 19:08 · Личное сообщение · #1 Здравствуйте, уважаемые пользователи. Помогите мне решить невнятную проблему. Объясню суть, имеется программа, написанная на c#, мне необходимо изменить всего лишь один байт в памяти этой программы при её работе. Для изменения памяти я использую функцию, которую использовал очень часто: Code:
Всё работает, байт меняется. НО есть одно НО, через время работы программы на ПК возникает ошибка "На компьютере не достаточно памяти", следом идут всяческие ошибки с закрытием этой программы. Но суть в том, что если эту программу перезапустить и сделать тоже самое, эта ошибка появится уже очень скоро, через минут 5 работы. Складывается такое ощущение, что память забивается непонятно где и не освобождается при закрытии этой программы. Однако, если не менять этот байт, программа успешно может работать и 48 часов без перебоев. Также я заметил, что если изменить этот байт через CheatEngine - всё также хорошо работает. Вопрос, в чем проблема возникает? Проверяется на х64 системе. Прошу мне помочь. ![]() |
|
Создано: 05 ноября 2019 18:41 · Личное сообщение · #2 |
|
Создано: 05 ноября 2019 18:55 · Личное сообщение · #3 |
|
Создано: 05 ноября 2019 20:48 · Поправил: wladimir55 · Личное сообщение · #4 По поводу протектора, die показывает .Net Reactor(4.5-4.7). Но суть то в том, почему же с CE нет такой проблемы. По поводу C++, программа проработала 17 часов и очень скоро я всё-таки буду использовать именно его :D Добавлено спустя 1 минуту Само приложение C# WPF Протектор снять получается, но задача делать патч на лету, чтобы не исправлять каждую обнову. Меняю я именно букву, в оригинале там буква p (#$70), я меняю её на a (#$61). ![]() |
|
Создано: 05 ноября 2019 21:53 · Личное сообщение · #5 SeDebugPrivilege нужна для открытия разноуровневых процессов. Имеется в виду процессов от другого пользователя, более привилегированных и тд. Если это процессы одного юзера в одной сессии и одного уровня элевации никакие привилегии отладки не нужны, ни для записи в память, ни для создания удалённых потоков, ни для чего-то ещё. Более того, это нужно только для OpenProcess. Если она прошла удачно, привилегия больше не требуется. ![]() |
|
Создано: 06 ноября 2019 03:06 · Поправил: UniSoft · Личное сообщение · #6 |
|
Создано: 10 ноября 2019 17:11 · Личное сообщение · #7 |
<< . 1 . 2 . 3 . |
![]() |
eXeL@B —› Вопросы новичков —› Вопрос про WriteProcessMemory Delphi7 |
Эта тема закрыта. Ответы больше не принимаются. |