В PE-файле есть разные RVA. Например, в IMAGE_SECTION_HEADER есть поле PointerToRawData. Это пу сути RVA на начало секции. Но нельзя им просто так пользоваться: к базовуму адресу прибавить RVA и перейти на начало. Это нельзя потому что при стандартное загрузке PE-файла в память, адреса будут немножко другими чем при загрузке PE-загрузчиком. Задача: загрузить PE-файл как это делает PE-загрузчик. Если вам не трудно, поясните, пожалуйста поподробней этот fkujhbnv, а то по тому что я нагуглил http://www.rsdn.ru/article/baseserv/peloader.xml разобраться до конца у меня, к сожалению, не получилось.
Как правило, загружаемые адреса в программе складываются из ImageBase + RVA. Однако, полагаю, у вас система Vista или выше. Там реализована такая вещь, как ASLR http://ru.wikipedia.org/wiki/Address_Space_Layout_Randomization . Скорее всего, с ней пытаетесь и бороться. Отсюда и различие адресов при запуске .
Пе-фаел как правило так называемый ехе'шнек может и не иметь релоков и разумеется никакой рандомезации в таком случае быть не может. ТСу- почитайте же уже наконец доки по пе-формату вы ж уже не первый раз задаете вопросы разобраться в которых не можете из-за незнания/поверхностного_знания/не_желания_знать/етц пе-формат(-а)
Да я думаю, дело не в этом. Я читал туториалы по ассемблеру с WASM-a, в которых описывалось об этой фигне. А туториалы эти были написаны задолго до висты. Это написано на страницах 294-295