#include<iostream>
#include<locale.h>
#include "windows.h"
using namespace std;
void main()
{
setlocale(LC_ALL,"");
int value = 0; //Какой тип должен быть?
DWORD pid;
HANDLE handle;
DWORD baseAddress;
DWORD toread;
SIZE_T bytesRead;
handle = GetCurrentProcess();
cout << "Процесс: " << handle << endl;
pid = GetProcessId(handle);
HANDLE phandle = OpenProcess(PROCESS_VM_READ, 0, pid);
if (!phandle)
{
cout << "Ошибка!\n";
cin.get();
}
else
{
cout << "Handle OpenProcess: " << phandle << endl;
cin.get();
baseAddress = (DWORD)phandle;
cout << "Base Address: " << baseAddress << endl;
cin.get();
}
if (ReadProcessMemory(phandle, (void*)0, &value, 4, &bytesRead))//Какой должен быть адрес(второй параметр) чтобы вывести сегмент кода?
{
cout << value<<endl;
}
else
{
cout << "Ошибка чтения: " << GetLastError() << endl; //Возникает ошибка 299
cout << "Количество байт: " << bytesRead << endl;
cin.get();
}
system("pause");
}