Получить значение переменной из программы с помощью DLL
У меня есть такая программа, она выступает в роли процесса в который инжектируется DLL:
#include <iostream>
int main(){
int a = 5;
std::cout << &a;
}
Мой DLL:
// dllmain.cpp : Определяет точку входа для приложения DLL.
#include "pch.h"
#include <windows.h>
#include <process.h>
#include <iostream>
void DLLProject(PVOID)
{
int p = 0x00F1F784;
printf("%d", *(int*)p);
}
BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpReserved)
{
if (fdwReason == DLL_PROCESS_ATTACH)
{
_beginthread(DLLProject, NULL, NULL);
}
return TRUE;
}
Если я ввожу в DLL файл нужный адрес на котором находится переменная в программе, всё работает отлично, DLL выводит значение что там лежит.
Но как мне получить значение этой переменной если у меня есть исходный код программы и я не знаю её адрес?