Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
GVA_
0 / 0 / 0
Регистрация: 21.04.2016
Сообщений: 5
#1

Не могу прочитать данные ячейки памяти - C++

22.04.2016, 18:05. Просмотров 172. Ответов 4
Метки нет (Все метки)

Подскажите пожалуйста что не так. Адресс ячейки вычислил через артмани. Код процесса выводит верно, а значение памяти нет. Для примера взял игру петухи и пытаюсь вывести значение очков.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
#include <windows.h>
#include <string.h>
#include <Tlhelp32.h>
#include <iostream>
using namespace std;
int i;
int  lpBuffer;
char numberofbyte;
DWORD addr = 00477114;
 
DWORD PIDByName(WCHAR * AProcessName)
{
    HANDLE pHandle = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
    PROCESSENTRY32 ProcessEntry;
    DWORD pid;
    ProcessEntry.dwSize = sizeof(ProcessEntry);
    bool Loop = Process32First(pHandle, &ProcessEntry);
 
    while (Loop)
    {
        if (wcsstr(ProcessEntry.szExeFile, AProcessName))
        {
            pid = ProcessEntry.th32ProcessID;
            CloseHandle(pHandle);
            return pid;
        }
        Loop = Process32Next(pHandle, &ProcessEntry);
    }
    return 0;
}
 
 
 
 
int main(void)
{
while (1)
{
    DWORD pid;
    pid = PIDByName(L"Moorhuhn2.exe");
    cout << pid << " ";
    HANDLE hProc = OpenProcess(PROCESS_VM_READ, 0, pid);
    ReadProcessMemory(hProc, (void*)addr, &lpBuffer, sizeof(lpBuffer), 0);
    cout << hProc << endl;
    cout << lpBuffer;
    cin >> i;
    
}
return 0;
}
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.04.2016, 18:05
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Не могу прочитать данные ячейки памяти (C++):

Как по ссылке прочитать ячейки памяти в turbo debugger c++ 3.0 - C++
Выполняя код на с++ программа собирается считать дамп памяти и что то с ним сделать, но прежде чем программа с этим дампом поработает мне...

Не могу прочитать данные - C++
Здравствуйте. Не могу прочитать данные после второго ввода (после enter a phrase). Объясните пожалуйста что не так, а то недавно начал...

Выделить в памяти 1024 ячейки по 8 байт и вывести их адреса(МИНИ менеджер памяти)) - C++
Вот тут появилась такая интересная задача: требуется сделать программу которая управляет 1024 ячейками памяти по 8 байт каждая. т.е. за...

Прочитать из памяти по адресу - C++
Задача: в памяти по адресу 0040:0010h (0x00400010) записано слово (информация о подключенном оборудовании). Нужно прочитать 12-й бит этого...

Можно ли разместить переменную в нужную ячейку памяти и реально ли хранить данные, разбросанными по памяти? - C++
Добрый день. Не могу найти информацию по двум вопросам : 1) могу ли я разместить переменную в нужную ячейку памяти. Например: int a...

Как прочитать содержимое памяти ПК? - C++
Я так понимаю речь об ОЗУ. 1)Как при помощи простейшего консольного приложения узнать к-во ячеек памяти(это размер или адреса) 2)как...

4
avgoor
915 / 550 / 119
Регистрация: 05.12.2015
Сообщений: 1,531
22.04.2016, 18:42 #2
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от GVA_ Посмотреть сообщение
DWORD addr = 00477114;
Вы точно хотели указать адрес в восмеричной системе счисления?
1
GVA_
0 / 0 / 0
Регистрация: 21.04.2016
Сообщений: 5
22.04.2016, 21:41  [ТС] #3
Если честно, то я не знаю как правильно, этот адрес мне артмани выдал, я такой и оставил.
0
avgoor
915 / 550 / 119
Регистрация: 05.12.2015
Сообщений: 1,531
23.04.2016, 00:27 #4
GVA_,
C++
1
2
3
4
5
#include <iostream>
int main()
{
    std::cout << 00477114;
}
Компилируем, запускаем, удивляемся, наконец все-таки RTFM.
0
GVA_
0 / 0 / 0
Регистрация: 21.04.2016
Сообщений: 5
25.04.2016, 01:31  [ТС] #5
Оказывается нужно было адрес указывать не 00477114, а правильно 0x00477114. Так все правильно считывает. Спасибо за помощь.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.04.2016, 01:31
Привет! Вот еще темы с ответами:

Bin файл из Modbus. Прочитать из файла область памяти - C++
Доброго времени суток! Подскажите пожалуйста, у меня есть bin-файл из которого нужно достать данные полученные устройством и хранящиеся...

Чтение ячейки памяти - C++
Сказали считать ячейку памяти, в которой лежит целое число, а так же посчитать кол-во 0 и 1. До сих пор не пойму, что от меня требуют и...

Прочитать данные из файла - C++
Доброго времени суток! Помогите написать программку для чтения данных из файла, а то никак не получается. Есть файл, в первой строке...

Запрос указаной ячейки памяти - C++
Добрый день. Задача вставить в матрицу (динамический двумерный массив) новую колонку. Вопрос можно ли запросить у операционки...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Yandex
Объявления
25.04.2016, 01:31
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru