[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: was passiert beim Patchen?



Hallo Peter,

>neuen Rechner mit 333 MHz. Um die alten Exen fuer die schnellen Maschinen
>geschmeidig zu machen, gibt es Patch-Programme. Deren Bedienung ist kein
>Hexenwerk, und schon laeuft Crosspoint (oder F&A) wieder. Aber was haben
>die Patchprogramme eigentlich mit der .exe angestellt? Die Laenge aendert
>sich nicht - nichts dazugekommen, nichts weggenommen, aber doch irgendwie
>veraendert???

Dabei werden kritische Befehlssequenzen durch Ueberschreiben modifiziert.
Falls die neuen Codesequenzen kuerzer sind als die alten, werden die  
ueberzaehligen Bytes mit NOP (= No Operation) Code ueberschrieben.
Im Falle von XP handelt es sich bei der fehlerhaften Codesequenz um eine  
vom Compiler erzeugte Schleife zur Bestimmung der  
Prozessorgeschwindigkeit. Diese Schleife ist derartig dusselig  
programmiert, dass sie bei Rechnern > 300MHz ein unzulaessiges Ergebnis  
liefert. Wenn das Programm im weiteren Verlauf mit diesem Wert  
weiterrechnet, kommt es zu einem Ausnahmefehler oder zum Rechnerabsturz.

Gruss,

-- 
Karl-Heinz Weiss  +  University of Karlsruhe  +  Germany
Phone: (49)0721-6082418 (Office)   (49)07244-706523 (Home)
Email: khweis_bEi_mvmpc9.ciw.uni-karlsruhe.de