In kernel32.dll schreiben?

Windowsspezifisches Forum , API ,..
Beiträge, die plattformübergreifend sind, gehören ins 'Allgemein'-Forum.
Benutzeravatar
Deeem2031
Beiträge: 1232
Registriert: 29.08.2004 00:16
Wohnort: Vorm Computer
Kontaktdaten:

In kernel32.dll schreiben?

Beitrag von Deeem2031 »

Also ich möchte in die kernel32.dll schreiben, ich weiß nur nicht wie. Wenn ich es mit normalen Procs versuchen würde, würde es ja logischerweise Zugriffsfehler hageln. Also müsste ich warscheinlich die Dll ändern bevor sie geladen wird. Die Frage ist nur: Geht das überhaupt und wenn, wie?

Danke schonmal für eure Hilfe.
Bild
[url=irc://irc.freenode.org/##purebasic.de]irc://irc.freenode.org/##purebasic.de[/url]
DarkDragon
Beiträge: 6291
Registriert: 29.08.2004 08:37
Computerausstattung: Hoffentlich bald keine mehr
Kontaktdaten:

Re: In kernel32.dll schreiben?

Beitrag von DarkDragon »

Deeem2031 hat geschrieben:Also ich möchte in die kernel32.dll schreiben, ich weiß nur nicht wie. Wenn ich es mit normalen Procs versuchen würde, würde es ja logischerweise Zugriffsfehler hageln. Also müsste ich warscheinlich die Dll ändern bevor sie geladen wird. Die Frage ist nur: Geht das überhaupt und wenn, wie?

Danke schonmal für eure Hilfe.
Die Frage ist eher wozu du sowas machen willst? Vielleicht gibt es ja eine andere methode dir zu helfen. :freak: kernel32.dll würd ich nie eigenhändig verändern :?
Angenommen es gäbe einen Algorithmus mit imaginärer Laufzeit O(i * n), dann gilt O((i * n)^2) = O(-1 * n^2) d.h. wenn man diesen Algorithmus verschachtelt ist er fertig, bevor er angefangen hat.
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 »

Die Kernel32.dll kopieren, ändern und dafür sorgen, das sie beim Neustart verschoben wird. So ungefähr könnte es gehen. Ohne Neustart wirds wohl nicht klappen.
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
Zaphod
Beiträge: 2875
Registriert: 29.08.2004 00:40

Beitrag von Zaphod »

es gibt auch keinen vernünftigen grund, warum das jemand tun sollte...
DarkDragon
Beiträge: 6291
Registriert: 29.08.2004 08:37
Computerausstattung: Hoffentlich bald keine mehr
Kontaktdaten:

Beitrag von DarkDragon »

Zaphod hat geschrieben:es gibt auch keinen vernünftigen grund, warum das jemand tun sollte...
Ich vermute er will die DLL umschreiben O_o. Vielleicht hilft ihm ja das Hooken einzelner Prozeduren aus der DLL.
Angenommen es gäbe einen Algorithmus mit imaginärer Laufzeit O(i * n), dann gilt O((i * n)^2) = O(-1 * n^2) d.h. wenn man diesen Algorithmus verschachtelt ist er fertig, bevor er angefangen hat.
Benutzeravatar
Deeem2031
Beiträge: 1232
Registriert: 29.08.2004 00:16
Wohnort: Vorm Computer
Kontaktdaten:

Re: In kernel32.dll schreiben?

Beitrag von Deeem2031 »

DarkDragon hat geschrieben:Die Frage ist eher wozu du sowas machen willst? Vielleicht gibt es ja eine andere methode dir zu helfen. :freak: kernel32.dll würd ich nie eigenhändig verändern :?
Ich war mir zu fast 100% sicher das du diese Frage stellen würdest ;)
Die Idee ist mir irgendwann mal gekommen als ich an der PHPString_lib gearbeitet habe. Vielleicht war es auch bei einem Gespräch mit PureFan, jedenfalls war die Idee, die proceduren von Windows zu optimieren, damit Windows schneller läuft. Dazu müste man aber logischerweise die DLLs ändern.
ts-soft hat geschrieben:Die Kernel32.dll kopieren, ändern und dafür sorgen, das sie beim Neustart verschoben wird. So ungefähr könnte es gehen. Ohne Neustart wirds wohl nicht klappen.
Der Neustart ist nicht das Problem, hab mir eigentlich schon gedacht das es nicht ohne geht. Bleibt nur die Frage wie man die Datei verschiebt...
Bild
[url=irc://irc.freenode.org/##purebasic.de]irc://irc.freenode.org/##purebasic.de[/url]
DarkDragon
Beiträge: 6291
Registriert: 29.08.2004 08:37
Computerausstattung: Hoffentlich bald keine mehr
Kontaktdaten:

Re: In kernel32.dll schreiben?

Beitrag von DarkDragon »

Ich war mir zu fast 100% sicher das du diese Frage stellen würdest ;)
Die Idee ist mir irgendwann mal gekommen als ich an der PHPString_lib gearbeitet habe. Vielleicht war es auch bei einem Gespräch mit PureFan, jedenfalls war die Idee, die proceduren von Windows zu optimieren, damit Windows schneller läuft. Dazu müste man aber logischerweise die DLLs ändern.
Warum ausgerechnet ich? :wink: <)

Windows zu optimieren, d.h. die DLLs disassemblieren und drin rumpfuschen? Ich würds trotzdem lassen. Nicht umsonst hat Micosoft sehr viele Angestellte ;) . Ähh ja und was ist wenn du nen fehler machst? Du hast ja nicht wirklich nen Debugger und Windows startet ohne kernel32 nicht. :|

Achja: Nimm ein anderes Betriebssystem und editiere die kernel32.dll von da aus, das geht sicher.
Angenommen es gäbe einen Algorithmus mit imaginärer Laufzeit O(i * n), dann gilt O((i * n)^2) = O(-1 * n^2) d.h. wenn man diesen Algorithmus verschachtelt ist er fertig, bevor er angefangen hat.
Benutzeravatar
Deeem2031
Beiträge: 1232
Registriert: 29.08.2004 00:16
Wohnort: Vorm Computer
Kontaktdaten:

Re: In kernel32.dll schreiben?

Beitrag von Deeem2031 »

DarkDragon hat geschrieben:Warum ausgerechnet ich? :wink: <)
Weil du in letzter Zeit schon öfter Antworten ala "Wozu brauchst du das denn überhaupt?" anstatt "Das geht so und so..." gegeben hast ;)
DarkDragon hat geschrieben:Windows zu optimieren, d.h. die DLLs disassemblieren und drin rumpfuschen? Ich würds trotzdem lassen. Nicht umsonst hat Micosoft sehr viele Angestellte ;) .
Was bringt mir das, wenn die nichts machen? Da kann man noch Jahrhunderte drauf warten, dass die die Procs optimieren.
DarkDragon hat geschrieben:Ähh ja und was ist wenn du nen fehler machst? Du hast ja nicht wirklich nen Debugger und Windows startet ohne kernel32 nicht. :|
Einfach die alte kernel32.dll wieder zurück kopieren?
DarkDragon hat geschrieben:Achja: Nimm ein anderes Betriebssystem und editiere die kernel32.dll von da aus, das geht sicher.
Klar, das würde natürlich gehen, aber wenn das Optimieren funktionieren sollte könnte man es ja auch in einem Programm zusammenfassen und dann kann man schlecht davon ausgehen das jeder ein anderes Betriebssystem drauf hat.
Bild
[url=irc://irc.freenode.org/##purebasic.de]irc://irc.freenode.org/##purebasic.de[/url]
Benutzeravatar
125
Beiträge: 1322
Registriert: 19.09.2004 16:52
Wohnort: Neu Wulmstorf (Hamburg)
Kontaktdaten:

Beitrag von 125 »

Hi,
villeicht will er ja die Kernel32.dll neuschreiben? :mrgreen:

mfg
125
Bild
BildDas ist Tux. Kopiere Tux in deine Signatur und hilf ihm so auf seinem Weg zur Weltherrschaft.
DarkDragon
Beiträge: 6291
Registriert: 29.08.2004 08:37
Computerausstattung: Hoffentlich bald keine mehr
Kontaktdaten:

Beitrag von DarkDragon »

Weil du in letzter Zeit schon öfter Antworten ala "Wozu brauchst du das denn überhaupt?" anstatt "Das geht so und so..." gegeben hast
:lol: Hätt ich nie bemerkt. Aber bei sowas darf man ja wohl Misstrauen zeigen.
"Debugger...blabla..."
Einfach die alte kernel32.dll wieder zurück kopieren?
ähh sorry, dann darfst du ja jedes mal neu anfangen, wenn du nen fehler baust. :freak: Und zwar ganz neu, d.h. Windows neu installieren.
Klar, das würde natürlich gehen, aber wenn das Optimieren funktionieren sollte könnte man es ja auch in einem Programm zusammenfassen und dann kann man schlecht davon ausgehen das jeder ein anderes Betriebssystem drauf hat.
Welcher andere würde solch einem Programm seine kernel32.dll freiwillig hergeben? Ich denke du machst das NUR für dich.
villeicht will er ja die Kernel32.dll neuschreiben?
Haha, Flachwitz. Das wär ja echt umständlich, wenn das dann auch noch funktionieren soll isser in 10 jahren mit den ersten 5 funktionen fertig, denn in der dll werden auch typen verwendet die es garnicht in PB gibt. Dann müsste er von Microsoft schon den Source erhalten um es sinnvoll verbessern zu können. Oder er schreibt eine KI dafür die das für ihn erledigt, so alà "bruteforcen" wir doch mal eine optimale Windows dll.
Angenommen es gäbe einen Algorithmus mit imaginärer Laufzeit O(i * n), dann gilt O((i * n)^2) = O(-1 * n^2) d.h. wenn man diesen Algorithmus verschachtelt ist er fertig, bevor er angefangen hat.
Antworten