Получить значение переменной из программы с помощью 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 выводит значение что там лежит.

Но как мне получить значение этой переменной если у меня есть исходный код программы и я не знаю её адрес?


Ответы (0 шт):