Thema: Assembler

Einzelnen Beitrag anzeigen

brechi

Registriert seit: 30. Jan 2004
823 Beiträge
 
#7

Re: Assembler

  Alt 10. Apr 2006, 19:06
VA = Virtual Address
RVA = Relative Virtual Address

Wenn du z.b. eine Funktion hast die bei 0x00407212 beginnt und die exe an 0x00400000 geladen ist, dann hast du die RVA 0x7212.
Wenn du die dann in ein FileOffset umrechnen willst musst du noch die RVA bezüglich der section wo die funktion nun hinzeigt subtrahoeren und die RFA der Section (heisst das so?) wieder addieren

Nehmen wir die Kernel32.CopyFileA:

Virtuelle Adresse: 0x77E89029
- Base von der Kernel32.dll: 0x77E70000
____________
RVA: 0x00019029

zeigt in die section '.text' die die RVA 0x00001000 hat
des subtrahieren und die RFA (0x00000600) von der section '.text' addieren

d.h. in der Datei an der Stelle 0x00018629 befindet sich die Funktion

Hab des jetzt nicht selbst getestet, wenn Fehler sind bitte anmerken ;>
  Mit Zitat antworten Zitat