Autor Thema: Offsets funktionieren nicht  (Gelesen 4916 mal)

blitzmaster

  • Beiträge: 77
    • Profil anzeigen
Gespeichert
« am: 13. March 2007, 16:59 »
Hi!

Folgendes:
Irgendwie funktionieren die Variablen nicht ganz. Wenn ich schreibe:
Org 0x15FBE
...
mov al, [actPos]
cmp al, 0xFF
...
actPos db 0xFF

Dann meint er [actPos] sei nicht das gleiche wie 0xFF. Die Calls und Jumps funktionieren aber alle einwandfrei. Was ist das???
Der Code wird vom Kernel an die stelle 0x15FBE geladen, wir befinden uns im Protected Mode mit CS=DS = 0x0 - 0xFFFFFFFF. Die GDT ist ordnungsgemäß geladen, interrupts sind ausgeschaltet.
Danke schon im voraus!
A / OS PM - THE operating system of the future

bitmaster

  • Troll
  • Beiträge: 1 138
    • Profil anzeigen
    • OS-64 = 64 Bit Operating System
Gespeichert
« Antwort #1 am: 13. March 2007, 17:03 »
Haste auch daran gedacht falls nu mit dem int 13h im RM den kernel schreibst das Seg*16+Offset = logisch ist? Jump und Calls überspringen nur Bytes, das also noch lange nicht heißt das dein org richtig ist.

bitmaster
In the Future everyone will need OS-64!!!

blitzmaster

  • Beiträge: 77
    • Profil anzeigen
Gespeichert
« Antwort #2 am: 18. March 2007, 17:38 »
so bin wieder da
@bitmaster
ja, daran hab ich gedacht ^^

wie kann ich am einfachsten herausfinden an welchem offset ich mich gerade befinde?
Würde da funktionieren, dass ich ein call mache, 4 Byte vom Stack hohle (sollte somit EIP habe) oder?
A / OS PM - THE operating system of the future

bitmaster

  • Troll
  • Beiträge: 1 138
    • Profil anzeigen
    • OS-64 = 64 Bit Operating System
Gespeichert
« Antwort #3 am: 18. March 2007, 19:29 »
Du machst einfach ein jmp $ und schaust dir cs-ip / eip oder was weis ich in qemu / bochs an.

bitmaster
In the Future everyone will need OS-64!!!

Jidder

  • Administrator
  • Beiträge: 1 625
    • Profil anzeigen
Gespeichert
« Antwort #4 am: 18. March 2007, 22:46 »
Würde da funktionieren, dass ich ein call mache, 4 Byte vom Stack hohle (sollte somit EIP habe) oder?
ja, würde funktionieren
Dieser Text wird unter jedem Beitrag angezeigt.

 

Einloggen