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

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

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

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

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

Доброго времени суток, эксперты! Нужно считать данные из памяти сторонней программы по указателю на эти данные. Для этого предварительно в 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 вне форума Ответить с цитированием
Ответ

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Опции темы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Чтение памяти процесса (поиск адресов) 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


Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru
Пеллетный котёл Emtas
котлы EMTAS