Совершенно не понимаю как работает память в windows.
Говорится, что процесс загружается в верхнюю часть виртуальной памяти, а OS в нижнюю.
У каждого процесса "типо" своя память. У него в памяти "типо" находятся dll, которые он может даже менять, так же как менять что то в своих адресах, а операционная система уже как то решит эту проблему, чтобы изменения в дллках не отразились на других процессах. Вот картинка для 32 битной Os
Во-первых не понятно зачем вообще говорить о каких то адресах операциоонной системы, если они не доступны. Нельзя менять что то в адресах OS (насколько мне известно, ну из user mode имеется ввиду)
Во-вторых, в других местах говорится, что например процесс может не загрузиться на те же адреса , на которые он загружался до этого. Вот например.
write process memory
Зачем если у нас у каждого процесса своя личная память которую он сам занимает, его загружать в разные адреса.
Я хочу просто перезаписат отделюную инструкцию, как мне это сделать, если она каждый раз находится на разных адресах.