Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

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

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

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.09.2018, 11: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 в 11:38.
senator2202 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


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