Deutsch
Forum

Probleme mit ON7.exe (etc.) unter Windows2000

 
- Seite 1 -


Hallo IF...

Wende ich unter Windows2000 SP2 oder SP4 auf die On7.EXE die API CreateToolhelp32Snapshot mit TH32CS_SNAPMODULE an, reagiert danach das Menü nicht mehr (getestet mit TNT). Noch irgendwo ein Fehler?
Unter Windows98 läuft alles normal.

Gruß

Andreas
 
20.10.2006  
 



 
- Seite 1 -


Ist das Problem unter XP nicht nachvollziehbar?
 
20.10.2006  
 



Nun eigendlich ist es uninteressant -drum schaue ich nichtmal. Es gehört auch nicht zum Funktionsumfang CreateToolhelp32Snapshot mit TH32CS_SNAPMODULE anwenden zu können. Das Control wird gesubclasst - wenn Du es beschießst mit Anfragen welche unabgearbeitet bleiben kann es natürlich crashen.
 
21.10.2006  
 



Mmmh... Subclassing bezieht sich meinens Wissens nach aber auf Messages - die sende ich ja nicht.
Was ich tue, ist einen Systemschnappschuss erstellen. Beim Erstellen dieses Schnappschusses hängt sich die Kiste bereits auf - eine eingehende Untersuchung des Prozesses mit einem speziellen Taskmanager ist also nicht möglich. Es könnte ein Fehler von Windows2000 (oder meinem OS) sein, ist dies nicht der Fall, werde ich persönlich diese DLL auf jeden Fall nicht verwenden und rate hier auch jedem anderen davon ab.
 
21.10.2006  
 



Na dann rate mal ab
 
21.10.2006  
 



Ich war mal so freundlich und hab die Sache mal unter XP getestet. Unter XP läuft alles normal. Auf einem zweiten Windows2000 Rechner hatte ich aber den selben Efekt.

Hier mal Quelltext zum Testen für alle 2000 Nutzer:
KompilierenMarkierenSeparieren
Def @CreateToolhelp32Snapshot(2) !"kernel32","CreateToolhelp32Snapshot"
Def @GetWindowThreadProcessId(2) !"USER32","GetWindowThreadProcessId"
DEF @CloseHandle(1) !"kernel32","CloseHandle"
Declare FEN_Handle&,Thread_ID&,hSnapshot&,PR_ID&,Fenstertext$
Windowstyle 31
Windowtitle "Schnappschuß von On7.EXE"
Window 0,0-640,440
LET Fenstertext$=@INPUT$("Bitte Fenstertext von ON7.EXE eingeben:","Fenstertitel?","on6")
Let FEN_Handle&=@FindWindow(Fenstertext$)
LET Thread_ID&=@GetWindowThreadProcessId(FEN_Handle&,@ADDR(PR_ID&))
Print "Gefundene Thread-ID: "+@STR$(Thread_ID&)
Print "Gefundene Prozess-ID: "+@STR$(PR_ID&)
Color 12,15
Print "Bitte jetzt ins Fenster klicken!"
Color 0,15
Waitinput

IF Thread_ID&<>0

    LET hSnapshot&=@CreateToolhelp32Snapshot($8,PR_ID&) hier flipp On7.exe aus (ON.DLL?)

    IF hSnapshot&<>-1

        @CloseHandle(hSnapshot&)

    endif

endif

Print "Handle des Schnappschusses: "+@STR$(hSnapshot&)

While 0=0

    Waitinput

wend


Wie du (hoffentlich ) siehst , beschieße ich da gar nichts, sondern rufe eine ganz normale Windows Taskmanager-API auf, um mir geladene Module einer Anwendung listen zu lassen. Das dort beim Aufruf einer Windows API eine Zugriffsverletzung erzeugt wird, kommt mir doch schon etwas merkwürdig vor....
Ist auch das erste und einzige Mal, das mir so was untergekommen ist .

Es wäre schon nett, wenn jemand anderes mit einem Windows2000 System das mal überprüfen könnte, damit niemand, der diese PCU/DLL nutzen möchte, irgendwann mal Probleme bekommt.
 
21.10.2006  
 



Schau mal scheint ein Win2000 Problemchen zu sein.  [...] 

Problemchen deshalb weil - es ist nicht maßgeblich für eine Anwendung entscheident ob man sie unter Win2000 mit CreateToolhelp32Snapshot abchecken kann. Es gibt sicherlich noch ganz andere Methoden und Möglichkeiten Programme zum Absturz zu bringen lolz.
 
21.10.2006  
 



[quote:29b19272c6=iF]Problemchen deshalb weil - es ist nicht maßgeblich für eine Anwendung entscheident ob man sie unter Win2000 mit CreateToolhelp32Snapshot abchecken kann..[/quote:29b19272c6]
Es kommt immer darauf an, was man schreiben will. Unter Umständen würde ich wirklich extrem sauer werden, wenn ein Abschecken meiner Anwendung einen solchen Absturz verursacht - und erst recht die Leute, die meine Anwendung nutzen und sich dann mit den entstandenen Folgen herumschlagen müssen.

Der Artikel bezieht sich auf SP3 - ich habe vor kurzem ein Update auf SP4 gezogen, da tritt der Fehler auch auf.
Wie gesagt - damit nicht irgendeiner so heftig auf die Nase fällt wie ich schon manchmal - bitte mal auf anderen 2000 Systemen abschecken.
 
21.10.2006  
 



PS: Solche Artikel bitte nicht in deutsch, da wird mir schlecht von .
 
21.10.2006  
 



Hab mal die dort angegebene Versionsnummer der NTDLL.DLL mit der Versionsnummer von SP4 verglichen. Die liegt noch unterhalb der dort angegebenen Version, das dürfte also dieser Fehler sein.
Da es anscheinend noch kein Servicepack für Windows2000 gibt, was diesen Fehler nicht erzeugt, kann man also davon ausgehen, das die ON.DLL zur Zeit auf fast jedem 2000 Rechner beim Scannen eine biege macht.
Wer diese DLL nutzen möchte, sollte das auf jeden Fall im Hinterkopf behalten...
 
21.10.2006  
 



Genau, wer diese DLL nutzen möchte sollte auf jeden Fall im Hinterkopf behalten das Windows2000 einen Bug hat welcher dazu führt das wenn man das Programm mit CreateToolhelp32Snapshot Snapt das das Programm eine Biege macht.

Ähm, bei der Verwendung von welchem Programm unter Windows2000 - ausgenommen mal TNT - kannst Du den WindowsBug reproduzieren?
 
21.10.2006  
 



Unter anderem bei meinem oben aufgeführten Quelltext. Warum - ist da ein Fehler drin? Oder gibt es evtl. kein anders Programm das die Toolhelp Funktionen nutzt um einen Schnappschuß zu erzeugen?

Wenn man Programme schreibt, bei denen irgendwo ein paar kleine Strichmannchen rumhopsen, ist es egal ob es läuft oder nicht. Programmiert man aber zum Beispiel ein Sicherheitstool, wäre es kein Problem dieses Tool mittels absichtlich erzeugtem Schnappschuß in Nirwana zu schicken und auf dem Rechner (wieder) Sachen zu dürfen, die eigentlich total verboten seien sollen.

Tüftelt das Programm zum Beispiel in der Registry herum wärend der User (evtl. selbst ein Progger?) einen solchen Schnappschuß erzeugt, kann es gerade unter Windows2000 sogar zum Verlust eines ganzen Userprofiles kommen.

Wie gesagt, für jemanden der Strichmännchen proggt stellt das gar kein Problem da - ich nehme aber mal an das es hier auch Leute gibt, dich auch gerne mal andere Sachen zusammenschreiben möchten.
 
22.10.2006  
 



 
- Seite 2 -


Nö ist Unsinn und Du weichst meiner Frage auch aus.

[quote:ba06f04eae]Tüftelt das Programm zum Beispiel in der Registry herum wärend der User (evtl. selbst ein Progger?) einen solchen Schnappschuß erzeugt, kann es gerade unter Windows2000 sogar zum Verlust eines ganzen Userprofiles kommen.[/quote:ba06f04eae]
Das ist derart spekulativ das es Dir nicht möglich sein wird hierfür ein Beispiel zu bringen. Wenn ich Dich recht verstanden habe kannst Du das Problem nur mit TNT - und Deinem obigen Source reproduzieren, und das auch nur unter Win2000 weils einen Bug hat. Möge ich behaupten das diese Konstellation derart ungnädig ist das der Zufall, das nun grad auch noch das Programm grob in der Reg rumfummelt - nur mutwillig herstellbar ist.

Ich finde es aber unspektakulär Programme mutwillig abstürzen zu lassen, besonders wenn mir im Vornherein klar ist was ich dafür tun muß.

Ebenso - und ich spekuliere jetzt auch einfach nur herum - könnte man fragen wie sich TNT verhält wenn es in der Reg rumtüftelt und terminiert wird. Ich gehe mal nicht davon aus das eine wproc das Signal abfängt und schnell noch alle nötigen Arbeiten erledigt...

Was ich sagen will - wer solche Programme schreibt - von denen Du redest - der sollte auch noch ganz andere Dinge beachten. Das können wir nicht alles in einem Thread erschlagen - es gibt ganze Foren die sich ausschließlich mit dieser Thematik befassen.
 
22.10.2006  
 




Antworten


Thementitel, max. 100 Zeichen.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Beitrag  Schrift  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Themenoptionen

4.302 Betrachtungen

Unbenanntvor 0 min.

Themeninformationen

Dieses Thema hat 2 Teilnehmer:

unbekannt (8x)
iF (5x)


Admins  |  AGB  |  Anwendungen  |  Autoren  |  Chat  |  Datenschutz  |  Download  |  Eingangshalle  |  Hilfe  |  Händlerportal  |  Impressum  |  Mart  |  Schnittstellen  |  SDK  |  Services  |  Spiele  |  Suche  |  Support

Ein Projekt aller XProfaner, die es gibt!


Mein XProfan
Private Nachrichten
Eigenes Ablageforum
Themen-Merkliste
Eigene Beiträge
Eigene Themen
Zwischenablage
Abmelden
 Deutsch English Français Español Italia
Übersetzungen

Datenschutz


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie