In kernel32.dll schreiben?

Windowsspezifisches Forum , API ,..
Beiträge, die plattformübergreifend sind, gehören ins 'Allgemein'-Forum.
Kekskiller
Beiträge: 752
Registriert: 14.09.2004 21:39
Kontaktdaten:

Beitrag von Kekskiller »

Machs doch im Dosmode...
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag 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.
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
Deeem2031
Beiträge: 1232
Registriert: 29.08.2004 00:16
Wohnort: Vorm Computer
Kontaktdaten:

Beitrag 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.
Bild
[url=irc://irc.freenode.org/##purebasic.de]irc://irc.freenode.org/##purebasic.de[/url]
Benutzeravatar
Justy
Beiträge: 131
Registriert: 10.09.2004 13:31
Wohnort: Feldbach / Steiermark / Österreich
Kontaktdaten:

Beitrag 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
Am Anfang erschuf der Mensch Gott.
Friedrich Nietzsche
Benutzeravatar
Deeem2031
Beiträge: 1232
Registriert: 29.08.2004 00:16
Wohnort: Vorm Computer
Kontaktdaten:

Beitrag 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.
Bild
[url=irc://irc.freenode.org/##purebasic.de]irc://irc.freenode.org/##purebasic.de[/url]
Benutzeravatar
Justy
Beiträge: 131
Registriert: 10.09.2004 13:31
Wohnort: Feldbach / Steiermark / Österreich
Kontaktdaten:

Beitrag 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
Am Anfang erschuf der Mensch Gott.
Friedrich Nietzsche
Benutzeravatar
Deeem2031
Beiträge: 1232
Registriert: 29.08.2004 00:16
Wohnort: Vorm Computer
Kontaktdaten:

Beitrag 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.)
Bild
[url=irc://irc.freenode.org/##purebasic.de]irc://irc.freenode.org/##purebasic.de[/url]
Benutzeravatar
AndyX
Beiträge: 1272
Registriert: 17.12.2004 20:10
Wohnort: Niederösterreich
Kontaktdaten:

Beitrag von AndyX »

Kopier die DLL doch und wenn sie fertig is kannst du sie von einem anderen OS wieder rüberkopieren ;)
Benutzeravatar
Justy
Beiträge: 131
Registriert: 10.09.2004 13:31
Wohnort: Feldbach / Steiermark / Österreich
Kontaktdaten:

Beitrag 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^^
Am Anfang erschuf der Mensch Gott.
Friedrich Nietzsche
Benutzeravatar
Deeem2031
Beiträge: 1232
Registriert: 29.08.2004 00:16
Wohnort: Vorm Computer
Kontaktdaten:

Beitrag von Deeem2031 »

Aber ich wollte es doch per Programm ändern/kopieren...
Bild
[url=irc://irc.freenode.org/##purebasic.de]irc://irc.freenode.org/##purebasic.de[/url]
Antworten