Seite 3 von 4
Verfasst: 07.07.2005 22:55
von Kekskiller
Machs doch im Dosmode...
Verfasst: 07.07.2005 22:59
von ts-soft
Vielleicht kannste die Kernel32.dll im BlueScreen-Modus überschreiben. Vielleicht kennste ja Bluecon, die diesen Modus für alle möglichen Dinge nutzen.
Verfasst: 08.07.2005 00:40
von Deeem2031
remi_meier hat geschrieben:Naja, prinzipiell, habs aber noch nie gemacht (ich weiss, ich falle auf deine
provokative Frage rein

).
Also nach meinem Prinzip:
1.) Disassemblieren -> ASM-Code
Variablen und Labels sind dann als Adressen drin
2.) Die Start- und Stopadresse der Procedure finden
3.) Dazwischen den Code abändern und alle Adressen hinter dem abge-
änderten Code mit der Verschiebung updaten...
4.) Wieder Assemblieren
greetz
Remi
Schon klar, dass du das so machen würdest. Und dass das natürlich nicht gehen würde auch, schließlich verschiebt man keinen Code in Exen, sondern hängt entweder Code hinten an oder überschreibt den alten und füllt ihn mit "NOP"s auf (auch wenn das eigentlich nicht nötig ist)
So brauch man keine Adressen ändern.
ts-soft hat geschrieben:Vielleicht kannste die Kernel32.dll im BlueScreen-Modus überschreiben. Vielleicht kennste ja Bluecon, die diesen Modus für alle möglichen Dinge nutzen.
Noch wie was von gehört. Werds mir aber mal angucken.
Verfasst: 08.07.2005 21:30
von Justy
Sorry für die vielleicht "patzige" Frage, aber könntest du uns bitte EIN EINZIGES konkretes Beispiel nennen, das du gern ändern würdest??
mfg. Justy
Verfasst: 08.07.2005 21:44
von Deeem2031
lstrlenA ( lstrlen_() )
Das war nämlich die erste Proc bei der uns (+Purefan) das aufgefallen ist, dass man sie optimieren könnte. StrLen() aus der PHPString-Library ist nämlich wesentlich schneller.
Verfasst: 08.07.2005 21:52
von Justy
Ok, akzeptiert
Aber warum deshalb gleich so ein Komplexitätsmonster wie die kernel32.dll umschreiben?
Wenn du ne eigene dll mit deinen optimierten Funktionen schreibst dürfte es doch erheblich einfacher gehen, oder?
Ich kann und will dich natürlich nicht aufhalten, aber in der Zeit die du brauchst um dich in den bestehenden Windows-Kernel (!) im ASM-Format (!!) einzuarbeiten, hättest du diese speziellen Funktionen schon dreimal neu geschrieben

!
Aber wie gesagt, lass dich nicht aufhalten...
mfg. Justy
Verfasst: 08.07.2005 22:19
von Deeem2031
Das eigentliche Umändern der DLL ist ja nicht sonderlich schwer, ich weiß nur nicht wie ich auf die DLL zugreifen kann um sie zu ändern. Würde die DLL also nicht dauernd von Programmen benutzt werden, wär mein Programm schon längst fertig.
Und warum ich nicht eine eigene DLL schreib, liegt doch daran das dadurch mein Windows nicht schneller laufen würde. (Auch wenn ich keinen Schimmer habe wieviel schneller das dann laufen wird.)
Verfasst: 08.07.2005 22:22
von AndyX
Kopier die DLL doch und wenn sie fertig is kannst du sie von einem anderen OS wieder rüberkopieren

Verfasst: 08.07.2005 22:23
von Justy
Hast du schon probiert die DLL zu kopieren, die kopierte DLL zu ändern und dann in der Wiederherstellungskonsole der CD oder von mir aus auch einer Linuxinstallation das Original mit der Kopie zu überschreiben?
So würd ichs jedenfalls machen...
mfg. Justy
/EDIT:
Ein bisschen zu langsam^^
Verfasst: 08.07.2005 23:10
von Deeem2031
Aber ich wollte es doch per Programm ändern/kopieren...