Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Betriebssysteme (https://www.delphipraxis.net/27-betriebssysteme/)
-   -   Meine DLL tötet Windows o.O (https://www.delphipraxis.net/88774-meine-dll-toetet-windows-o-o.html)

Neutral General 20. Mär 2007 20:02


Meine DLL tötet Windows o.O
 
Hi,

Hab ne ganz harmlose DLL geschrieben... Hab unter HKLM->Software->Microsoft->WindowsNT->CurrentVersion->Windows
in den Wert "AppInit_DLLs" meine DLL mit eingetragen.. (wie trennt man DLLs ab wenn man mehrere hat?) und Windows neu gestartet um zu testen ob meine DLL mitgestartet wird...

Und auf einmal schüttet mich Windows nach dem Willkommensbildschirm mit Fehlermeldungen und AV's und weiß der Teufel was zu und läd einfach nicht mehr weiter... Er lässts einfach sein.. Das sieht man besonders im abgesicherten Modus (Ja sogar da werden die DLL's geladen o.O) Ganz am Anfang habe ich den Task-Manager aufgerufen und irgendwann hat Windows ab einem Zeitpunkt einfach aufgehört weiterzuladen... Alles is stehn geblieben.. Das Startmenu War fast leer... Man konnte nur auf Start->Alle Programme klicken.. und da klappte nix mehr auf.. Nicht weil der PC hängt sondern weil die Submenus anscheinend gar nicht erstellt worden sind... Der Taskmanager bestand auch nur aus einem Fenster, einem Menu und einem leeren Panel. Windows hat einfach aufgehört an dem Punkt...Als wär die Zeit stehn geblieben.. :shock:

Hab dann letztendlich mit der WinXP-CD und der Rettungsconsole meine DLL löschen können...

Jetzt hab ich Angst das wieder zu testen... Wie macht man das richtig? Bzw was hab ich falsch gemacht vielleicht? Ist das schlimm das ich nen Thread in meiner DLL hab? Wie trag ich meine DLL richtig in die Registry ein? Gibts andere Möglichkeiten DLLs beim Windowsstart mitzuladen?

Gruß
Neutral General

Bernhard Geyer 20. Mär 2007 20:08

Re: Meine DLL tötet Windows o.O
 
Was soll den diese DLL machen? Reicht es denn nicht aus wenn du einen Dienst schreibst der automatisch gestartet wird?

Ansonsten kann ich dir fürs Testen VMWare ans herz legen. Wenn das Windows zerschossen ist einfach auf alten Sicherungspunkt zurück oder Image neu kopieren.

Neutral General 20. Mär 2007 20:10

Re: Meine DLL tötet Windows o.O
 
Die DLL soll jede Sekunde oder so gucken ob gewisse Programme gestartet sind und die gegebenenfalls beenden...
(Sinn davon ist egal)

Mein Windows klappt wieder... Habs wieder hinbekommen...

Christian Seehase 20. Mär 2007 21:10

Re: Meine DLL tötet Windows o.O
 
Moin Michael,

so etwas testet man am Besten auch in einer virtuellen Maschine...
Eine DLL die in APPInit_DLLs steht wird zu jedem Prozess dazugeladen.

Catbytes 20. Mär 2007 22:09

Re: Meine DLL tötet Windows o.O
 
Zitat:

Zitat von Neutral General
...Wie macht man das richtig?...

Hi,

nimm VirtualBox.

Gut, frei und läuft mit fast allem (auch z.B. Windows Vista).

Luckie 20. Mär 2007 22:27

Re: Meine DLL tötet Windows o.O
 
Zitat:

Zitat von Neutral General
Bzw was hab ich falsch gemacht vielleicht?

Ohne Code kann man da wohl nur raten.

alzaimar 21. Mär 2007 07:12

Re: Meine DLL tötet Windows o.O
 
Ich hab dafür keine DLL, sondern eine EXE, die im Tray hängt. Die kann ich in meinen Autostart-Ordner packen, oder es sein lassen. Wozu eine DLL?

StefanG 21. Mär 2007 08:36

Re: Meine DLL tötet Windows o.O
 
Evtl rufst du irgendwelche Funktionen auf, die aus DLL's kommen, die in den Zielprozessen nicht importiert wurden?

Services mögen es z.b. garnicht, wenn man GUI Funktionen wie ShowMessage benutzt.

Neutral General 21. Mär 2007 12:40

Re: Meine DLL tötet Windows o.O
 
*HUUUUUUUUUST* ...

Wisst ihr was ich NIE WIEDER vergessen/vernachlässigen werde? Wenn eine DLL von X Prozessen geladen wird und jede Instanz der DLL 10 mal in der Sekunde alle Prozesse auflistet und dabei weder die SuchHandles noch die Handles von OpenProcess schließt dann kanns schonmal sein das der Taskmanager 30 Sekunden nach Systemstart eine 1,2GB große Auslagerungsdatei anzeigt.. Tendenz: STARK wachsend... :wall: :mrgreen:

Hätte euch gerne davon ein Screenshot gezeigt aber Paint war bei einer auf 1,5-1,7GB angewachsenden Auslagerungsdatei nichtmehr in der Lage irgendwas zu speichern oder sonstwas zu tun :mrgreen:

:oops: :mrgreen:

EDIT: Wobei mir grad auffällt... Wie schließt man die SuchHandles ? o.O
Process32Close gibts nicht...

Gruß
Neutral General

alzaimar 21. Mär 2007 12:45

Re: Meine DLL tötet Windows o.O
 
Was Du auch nicht vergessen/vernachlässigen solltest, ist...

... das Zeugs zu testen.

Aber wer macht das schon. Testen ist eh nur was für Spießer. :mrgreen:

Ach, und 'CloseHandle' ist dein Freund.


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:24 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz