Итак, я написал программу, которая может успешно считывать память из большинства процессов с помощью VirtualQueryEx. Однако я столкнулся с процессом, для которого эта функция не работает. Это не системный процесс, а просто игровой процесс. Без привилегий Debug я даже не мог открыть дескриптор процесса. С ними я могу получить дескриптор процесса, но все же получить доступ запрещен для VirtualQueryEx.Доступ запрещен при использовании VirtualQueryEx
Я не уверен, но, может быть, процесс является частным? Если это так, что я должен сделать, чтобы успешно использовать функцию VirtualQueryEx?
Я также где-то читал, что, возможно, мне придется приостановить потоки всего процесса перед запуском VirtualQueryEx, но пока мне это не понадобилось ... И когда я использовал функцию Thread32First, чтобы получить первый поток, это дало мне ошибку: ERROR_BAD_LENGTH ...
Я был бы очень признателен за любую помощь в этом вопросе!
Очевидно, что программисты не хотели, чтобы вы возились с игрой. Что довольно нормально, пользователи, которые портили многопользовательские игры с помощью хаков, являются общим бедствием. Учитывая, что есть некоторые шансы, что я буду играть в ту же игру, которую вы хотите испортить, я бы сказал, что эту проблему не нужно решать. –
Все, что я делаю, это только для образовательных целей. Я не собираюсь испортить игры. Моя цель - выяснить, какие трюки используются, чтобы узнать, как лучше защитить свои собственные игры. – Savail
Это интересный вопрос, но ... Вероятно, было бы намного легче ответить, если бы вы включили некоторые дополнительные сведения о процессе вы не можете прочитать. Черт, даже название игры может помочь. – Shog9