Also bei mir geht das alles nícht so ... leider... .
QEMU will bei mir einfach nicht laufen. Entweder findet er eine Datei von KQEMU nicht, und wenn ich KQEMU dann installiere findet er eine andere wieder nicht.
Und bei Bochs bin ich einfach zu blöd mit diesem step xxx die richtige stelle zu treffen. Hab dort schon einen Watchpoint angelegt der mir melden soll wenn auf 0x001023C3 zugegriffen wird, aber das klappt auch nicht. Weiß jemand wie man dort noch weiter kommen könnte ?
Sonst muss ich mich wohl nochmal an qemu versuchen.
[EDIT]
Auf jeden Fall habt ihr Recht das es nicht hier ran liegt:
char* Mem = 0xC0000000; //3 GB
char* String = "Test... Dies ist an die 3 GB Grenze geschrieben!";
for(i=0;i<strlen(String);i++)
{
*Mem = *String;
Mem++;
*Mem = KVC_White;
Mem++;
}
Wenn ich diesen Teil weglasse bekomme ich auch eine Page-Fault, jedoch an Adresse 0x00102363.
Kann sich das jemand erklären ? Vielleicht wird ein Teil der ersten Map nicht richtig erstellt, das mein Code an der for-Schleife anschließend eine Page-Fault auslöst.
Wenn ich mir meine Disassembli (?) so ansehe ist in _main auch keine Schleife am Ende. könnte es sein das der Compiler die leere for-Fchleife einfach ignoriert ?
Disassembli
_main proc near ; CODE XREF: seg000:0000002Dp
seg000:000002D1
seg000:000002D1 var_30 = dword ptr -30h
seg000:000002D1 var_C = byte ptr -0Ch
seg000:000002D1 arg_0 = byte ptr 4
seg000:000002D1
seg000:000002D1 lea ecx, [esp+arg_0]
seg000:000002D5 and esp, 0FFFFFFF0h
seg000:000002D8 push dword ptr [ecx-4]
seg000:000002DB push ebp
seg000:000002DC mov ebp, esp
seg000:000002DE push esi
seg000:000002DF push ebx
seg000:000002E0 push ecx
seg000:000002E1 sub esp, 18h
seg000:000002E4 mov ebx, [ecx]
seg000:000002E6 push 0
seg000:000002E8 call sub_EF0
seg000:000002ED call sub_283
seg000:000002F2 call sub_1730
seg000:000002F7 pop eax
seg000:000002F8 mov eax, [ebx+4]
seg000:000002FB pop edx
seg000:000002FC add eax, [ebx+8]
seg000:000002FF sub eax, 1000000h
seg000:00000304 push eax
seg000:00000305 push 1000000h
seg000:0000030A call sub_17B0
seg000:0000030F call sub_1805
seg000:00000314 add esp, 10h
seg000:00000317 test eax, eax
seg000:00000319 jnz short loc_334
seg000:0000031B push eax
seg000:0000031C push eax
seg000:0000031D push 0Fh
seg000:0000031F push 1002A5h
seg000:00000324 call sub_FD8
seg000:00000329 lea esp, [ebp-0Ch]
seg000:0000032C pop ecx
seg000:0000032D pop ebx
seg000:0000032E pop esi
seg000:0000032F pop ebp
seg000:00000330 lea esp, [ecx-4]
seg000:00000333 retn
[/EDIT]