Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > .NET > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail


Донат для форума - использовать для поднятия настроения себе и модераторам

А ещё здесь можно купить рекламу за 25 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru

Ответ
 
Опции темы
Старый 08.09.2018, 12:08   #1
senator2202
 
Регистрация: 13.12.2009
Сообщений: 8
Репутация: 10
По умолчанию Чтение памяти стороннего процесса

Доброго времени суток, эксперты! Нужно считать данные из памяти сторонней программы по указателю на эти данные. Для этого предварительно в cheat engine я нашел указатель на данные, которые необходимо прочитать.

Указатель на данные выглядит следующим образом: "DynamicLibrary.dll" + offset. След кодом я привожу указатель в приемлемый вид:

Код:
            String proc = "Application";
            Process[] foundProcesses = Process.GetProcessesByName(proc);
            ProcessModuleCollection modules = foundProcesses[0].Modules;
            ProcessModule dllBaseAdressIWant = null;
            foreach (ProcessModule i in modules)
            {
                if (i.ModuleName == "DynamicLibrary.dll")
                {
                    dllBaseAdressIWant = i;
                }
            }

            int offset= 0x003CA37C;
            IntPtr point = dllBaseAdressIWant.BaseAddress + offset;
Далее по адресу нашего указателя мы считываем его значение, т.е. адрес необходимых нам данных:

Код:
            VAMemory vam = new VAMemory("Application");
            int add= vam.ReadInteger(point);//собственно адрес в памяти наших данных
            string s = vam.ReadStringUnicode((IntPtr)add, 2000);//читаем наши строковые данные
На этом моменте, собственно, и возникает загвоздка. В переменную add (адрес наших данных) постоянно заносится одно и тоже неверное значение, вместо динамического адреса данных. Соответственно и считывается по этому адресу всякая ересь. Буду благодарен за помощь в указании ошибки!

______________________
Используйте тег [CODE] (кнопка с решеткой # в форме сообщения) при вставке кода на форум.

Последний раз редактировалось Alex11223; 08.09.2018 в 12:38.
senator2202 вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Чтение памяти процесса (поиск адресов) xRamzeSx Общие вопросы Delphi 0 12.01.2014 13:10
Чтение виртуальной памяти процесса Tambel Win Api 9 25.11.2013 12:58
Чтение памяти процесса Maincore Win Api 12 14.08.2012 22:34
Чтение значения из памяти запущенного процесса padsyukin Помощь студентам 2 09.03.2012 15:39
Чтение данных из памяти процесса (need help) lexastik Win Api 10 26.02.2009 21:50


13:57.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.