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

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

Восстановить пароль Регистрация
 
GVA_
0 / 0 / 0
Регистрация: 21.04.2016
Сообщений: 5
22.04.2016, 18:05     Не могу прочитать данные ячейки памяти #1
Подскажите пожалуйста что не так. Адресс ячейки вычислил через артмани. Код процесса выводит верно, а значение памяти нет. Для примера взял игру петухи и пытаюсь вывести значение очков.
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;
}
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.04.2016, 18:05     Не могу прочитать данные ячейки памяти
Посмотрите здесь:

C++ Прочитать из памяти по адресу
C++ Не могу прочитать данные
Как правильно прочитать данные? C++
C++ запрос указаной ячейки памяти
Bin файл из Modbus. Прочитать из файла область памяти C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
avgoor
562 / 352 / 83
Регистрация: 05.12.2015
Сообщений: 1,137
22.04.2016, 18:42     Не могу прочитать данные ячейки памяти #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от GVA_ Посмотреть сообщение
DWORD addr = 00477114;
Вы точно хотели указать адрес в восмеричной системе счисления?
GVA_
0 / 0 / 0
Регистрация: 21.04.2016
Сообщений: 5
22.04.2016, 21:41  [ТС]     Не могу прочитать данные ячейки памяти #3
Если честно, то я не знаю как правильно, этот адрес мне артмани выдал, я такой и оставил.
avgoor
562 / 352 / 83
Регистрация: 05.12.2015
Сообщений: 1,137
23.04.2016, 00:27     Не могу прочитать данные ячейки памяти #4
GVA_,
C++
1
2
3
4
5
#include <iostream>
int main()
{
    std::cout << 00477114;
}
Компилируем, запускаем, удивляемся, наконец все-таки RTFM.
GVA_
0 / 0 / 0
Регистрация: 21.04.2016
Сообщений: 5
25.04.2016, 01:31  [ТС]     Не могу прочитать данные ячейки памяти #5
Оказывается нужно было адрес указывать не 00477114, а правильно 0x00477114. Так все правильно считывает. Спасибо за помощь.
Yandex
Объявления
25.04.2016, 01:31     Не могу прочитать данные ячейки памяти
Ответ Создать тему
Опции темы

Текущее время: 23:35. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru