Как мне прочитать указатель, который выглядит как «имя процесса» + адрес? - PullRequest
5 голосов
/ 30 сентября 2011

Как видно из названия, я пытаюсь прочитать адрес, найденный при сканировании указателя в Cheat Engine.Но единственная проблема - единственные указатели, с которыми мне когда-либо приходилось работать, это просто адрес указателя + смещение.Я использую C # .Net 4.0 из Visual Studio 2010. Мне кажется, я помню что-то об этом раньше, но я не особо задумывался об этом, поскольку это не относилось ко мне в то время.

Что-тоо получении идентификатора процесса или модуля и добавлении его к адресу указателя, затем добавлении смещения и чтении оттуда?Но я не могу вспомнить команды для получения идентификатора процесса или идентификатора модуля: /

Также это указатель уровня 5, с которым я работаю, я использовал только указатели уровня 1 или 2, но я 'Я предполагаю, что это примерно то же самое.Просто читайте адрес из указателей, пока я не получу базовый адрес для записи.

Если это поможет, мой указатель будет выглядеть так: «ProcessName.exe» + 003E6D98

«Это может помочь, еслиВы сказали, почему в мире вам нужно играть с указателями из .NET »- Джон Сондерс

Я работаю тренером для одной из моих игр.Я сделал их раньше, но не с указателями этого типа, и я забыл, как именно обрабатывать адреса этого типа.Я думаю, что я должен получить идентификатор модуля, но я забыл, как.Я на самом деле неплохо справляюсь с памятью и указателями. У меня обычно средний адрес без имени процесса рядом с ним.

1 Ответ

0 голосов
/ 27 февраля 2012

OP ответил на вопрос - поставить как CW ответ

string sProcessName = "MyProcessName.exe";
Process[] MyProcesses = Process.GetProcessesByName(sProcessName);
IntPtr hProcModuleBA = MyProcesses[0].MainModule.BaseAddress;
IntPtr PointerAddr = new IntPtr(MyPointer.ToInt32() + BaseAddress.ToInt32());

Это будет искать в ваших процессах sProcessName, добавляя его в массив 'MyProcesses'. Я выбрал первый в списке, чтобы получить BaseAddress. Это было 40000:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...