Erstmal sorry für die späte Antwort... habs nicht gleich entdeckt :O
VariableA ^= VariableB;
Ist lediglich eine Abkürzung für:
VariableA = VariableA ^ VariableB;
(also sowas ähnliches wie: +=, -=, /=, %=, &=, |=, ...)
Du kannst auch die längere Form benutzen, oder wie DiZZy_D empfohlen hat eine andere Verschlüsselung benutzen (diese muss aber selbstverständlich eindeutig sein - also wieder entschlüsselbar sein).
Du meinst wohl 0x400000 (eine 0 weniger ).
Im Grunde ist das korrekt, jedoch werden uA. auch andere Adressen benutzt (kernel32.dll wäre ein Beispiel, das mir so spontan einfällt).
Demzufolge habe ich versucht das ganze universell aufzubauen und die Adresse für jedes einzelne Programm individuell einzufügen.
btw: Microsoft bezeichnet diese Adresse auch als ImageBase (siehe die beigelegte .DOCX-Datei). Das ist also keine Eigenerfindung von mir
mfG. BlackBerry