Вы не можете сделать это напрямую. Адресное пространство процесса полностью уникально для вашего процесса - 0xDEADBEEF
может указывать на «Собаку» в одном процессе, а 0xDEADBEEF
может указывать на «Кошку» в другом. Вам придется совершать вызовы операционной системы, которые позволят вам получить доступ к адресному пространству другого процесса, и даже тогда вам придется угадывать. Во многих случаях это местоположение будет отличаться при каждом запуске приложения - вы не можете предсказать, каким будет макет времени выполнения процесса во всех случаях.
Предполагая, что вы находитесь в Windows, вам нужно (РЕДАКТИРОВАТЬ: вам не нужны A и B во всех случаях, но они обычно нужны вам) A. быть администратором, B. взять SeDebugPrivilege для вашего процесса C, откройте дескриптор процесса , а затем D. используйте ReadProcessMemory / WriteProcessMemory , чтобы делать то, что вы хотите.
Надеюсь, это поможет:)
РЕДАКТИРОВАТЬ 2: Похоже, вы смотрите на адрес, взятый из дизассемблера. Если это так, то вы не можете использовать это значение адреса - изображение может быть заново основано во время выполнения, и значение там будет совершенно другим. Особенно в последних версиях Windows, которые поддерживают рандомизацию расположения адресного пространства.