| 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. Если она прошла удачно, привилегия больше не требуется.   | Сообщение посчитали полезным: dezmand07, UniSoft | 
| 
 | 
Создано: 06 ноября 2019 03:06 · Поправил: UniSoft  · Личное сообщение · #6  | 
| 
 | 
Создано: 10 ноября 2019 17:11  · Личное сообщение · #7  | 
| << . 1 . 2 . 3 . | 
| eXeL@B —› Вопросы новичков —› Вопрос про WriteProcessMemory Delphi7 | 
| Эта тема закрыта. Ответы больше не принимаются. | 









 Для печати