Zitat von AHT;710777
Ich schau mal auf XP nach der Adresse 1991974684 ($76BB1F1C)
Die Adresse ist Teil der PSAPI.DLL, 40 Bytes nach dem Funktionseinsprung von EnumProcessModules.
Zitat von AHT;710777
Ich schau mal auf XP nach der Adresse 1991974684 ($76BB1F1C)
Die Adresse ist Teil der PSAPI.DLL, 40 Bytes nach dem Funktionseinsprung von EnumProcessModules.
Frank, beim Umstieg auf XProfan 11.n hatten wir mit einigen Listviewbeispielen so unsere Probleme.
Auch Bangkok mußte beim Einsatz seiner RTFHandling.pcu beim Beenden einige Probleme lösen.
Bei mir läuft nur fehlerfrei:
While %UMessage<>$10
Getmessage
IF OldText$<>GetText$(Edit&)
Settext Text&,Funktion_vorhanden(GetText$(Edit&))
OldText$=GetText$(Edit&)
endif
wend
Freedll PSAPI&
DestroyWindow(%hwnd)
End
Gruß Thomas
Zitat von Frabbing;710792Hm, aber der Code benutzt die Dll doch gar nicht, außer, dass es sie lädt...
Das unten bewirkt die gleiche Fehlermeldung.
Wer sagt denn, dass der Code die DLL benutzen muss? Warum nicht die Firewall oder Malware über injizierten Code oder XProfan selbst?
Ich nutze in TNT auch die PSAPI, und da hatte ich mal folgendes Problem:
Ich hatte dort die DLL früher nicht über UseDLL geladen, sontern nur Def verwendet.
Irgendwann gab es dann zeitweise Fehler in der Art "DLL nicht gefunden".
Ich habe dann UseDLL verwendet, um das zu umgehen - das habe ich hier auch gemacht.
Ich habe den Eindruck, das ist die gleiche Sache, nur andersherum.
Nochmals zur Fehlermeldung (nach meinem Verständnis):
$76BB1F1C liegt unter XP SP3 innerhalb der DLL PSAPI (unter XP kann man das noch recht sicher sagen, denn da sind die Ladeadressen von Systemmodulen noch fix). Das hier kein Modulname angezeigt wird, dürfte daran liegen, dass die DLL zum Zeitpunkt, bei dem auf sie zugegriffen werden soll, nicht mehr geladen ist. Ist die DLL nicht mehr geladen, ist der Speicherbereich, in dem sie sich normalerweise befindet, nicht mehr realem Speicher zugewiesen. Ist virtueller Speicher keinem realen Speicher mehr zugewiesen und man versucht trotzdem darauf zuzugreifen, gibt es eine Zugriffsverletzung.
Hier versucht also scheinbar etwas zu dem Zeitpunkt auf die PSAPI zuzugreifen, zu dem die DLL bereits mit FreeDLL entladen wurde.
Nein, es muss ein XProfan-Bug sein. Nehme ich z.B. die Usermessages-Zeile raus, dann klappt es ohne Fehler. Genauso, wenn ich das UseDll rausnehme. Irgendwas beißt sich da wohl. Vielleicht noch eine alte Message aus dem Message-Stack?
Zitat von Frabbing;710748Hab den Code mal weiter zurückgenommen. Hierbei bekomme ich immer noch nach dem Programmende die Windowsmeldung: XProfan-Interpreter hat ein Problem festgestellt...:
CodeCls Var psapi&=UseDll($Syspath+"\\PSAPI.DLL") Usermessages $10 WaitInput UserMessages 0 Freedll psapi& End
Als Exe funktioniert es reibungsfrei.
Nehme ich die UserMessage-Zeile(n) oder aber auch die UseDll-Zeile raus, kommt die Meldung nicht.EDIT: Getestet mit 11.2a
Also bei mir erzeugt der Code keinerlei Fehlermeldung, weder im Interpreter, noch als Kompilat, noch als EXE.
Gruß
Roland
Zitat von Frabbing;710853Nein, es muss ein XProfan-Bug sein.
Nehme ich z.B. die Usermessages-Zeile raus, dann klappt es ohne Fehler. Genauso, wenn ich das UseDll rausnehme. Irgendwas beißt sich da wohl. Vielleicht noch eine alte Message aus dem Message-Stack?
Nicht unbedingt, das kann man auch anders erklären. Ich mache dir einen Vorschlag, wir testen das aus!
Ich schicke dir gleich an die Mailadresse deiner Homewpage ein Programm, das Hooks entfernt.
Stöpsele dich erst komplett vom Netzwerk ab, führe dann das Programm aus und klicke solangfe auf OK, bis kein Hook mehr gefunden wurde.
Starte dann den Quelltext... Wenn der Fehler dann nicht mehr auftritt, ist es huntertprozendig kein XProfan Bug. Tritt er weiterhin auf, schlägt die Waagschale etwas zu deinen gunsten aus.
Nach dem Test auf jeden Fall rebooten, die Maschine ist sonst unter Umständen nicht sicher!
PS: MüllSchlucker und Frank - welche Firewall nutzt ihr?
Frank: Bitte 2.Mail nehmen, hab dir zuerst die falsche Datei zugeschickt .
Bin jetzt doch noch zum Testen gekommen. Enthookt findet der Absturz nicht mehr statt...
Welche Firewall???
Die von Windows XP. Außerdem läuft Avast.
Zitat von Frabbing;710965Bin jetzt doch noch zum Testen gekommen. Enthookt findet der Absturz nicht mehr statt...
Das ist also mit großer Sicherheit kein XProfan Fehler, ich dürfte also mit dem Hook schon ziemlich nahe an der Wahrheit sein. Da bei der Installation von Hooks über SetWindowsHookEx der Thread in der Regel sowieso ein Fenster hat, bietet sich da ein Anspringen des Codes über Messages an - habe so etwas schon mal in CSRSS.EXE gemacht. Wo aber kein Hauptfenster ist, kann über eine Message auch kein Code angesprungen werden / Destroywindow(%HWND).
Bei der Firewall hätte ich jetzt auf Sygate getippt, die installiert über einen Hook die SSSensor.dll - und wenn die nicht unter anderem auch die vom jeweiligen Prozess geladenen Module ausliest, fresse ich einen Besen.
Avast installiert bei mir unter Windows98 Hooks (WH_KEYBOARD, WH_CBT, WH_MOUSE -> ASWIDLE.DLL), unter Windows2000 bei mir aber scheinbar nicht. Findest du in der Profan.exe beim Ausführen des Quelltextes eine DLL von Avast, ist Avast mit großer Sicherheit der Übeltäter.
Es würde mich interessieren, welche DLLs sich im Prozess Profan.exe befinden, wenn der Quelltext ausgeführt wird. Auf meiner HP findest du ja ein Tool zum Listen von Modulen. Über das Menü kannst du die Liste der DLLs in die Zwischenablage kopieren und hier posten (sobald du Zeit hast).
Steckt wirklich ein Sicherheitsprogramm hinter dem Fehler, kann es jederzeit nach dem Entladen der PSAPI.DLL auf irgendeinem Computer zu Programmabstürzen kommen - das müsste man unbedingt wissen. :lupe:
Desweiteren müsste man die PSAPI.DLL zwingend über UseDll laden.
Horst Horn...
Läuft bei dir unter Windows7 dieser Code?
Klasse!!! Es gibt sogar eine Möglichkeit herauszufinden, welche System-Konstanten im laufenden Programm verfügbar sind *freu*!
Ich glaube, die Windowsversion passt im Quelltext nicht - müsste nicht 7 sondern 6.1 sein.
MüllSchlucker
...unter XP wird die API gefunden und der Code stürzt ab !
...unter WIN-7 ist die API vorhanden und der Code beendet sauber !
PS:
Habe in die WHILE-Schleife die Zeile eingefügt:
CASE Iskey(27):END
...jetzt wird auch unter XP sauber beendet
Hallo Horst...
Ich benötige noch mal deine Hilfe.
Ich brauche mal die in der Kernel32.dll und Psapi.dll unter Windows7 vorhandenen Exportfunktionen.
Lade dir mal TNT herunter, starte TNT unter Windows7 und klicke auf Prozesse, Threads und DLLs. Scrolle dann das Treeview runter bis zum Prozess Tasks and Token.exe.
Klicke auf Tasks and Token.exe, warte etwas - und dann nochmals Doppelklick auf Tasks and Token.exe.
Klicke dann die Registrierkarte Objektinfos an. Klicke dann auf die Kernel32.dll im Treeview.
Mit einem Rechtklick auf den Schriftzug Gefundene Exportfunktionen mit Namen kannst dur dir die Exportfunktionen in die Zwischenablage kopieren - bitte die dann hier posten.
Wiederhole das gleiche dann mit der psapi.dll.
MüllSchlucker
Mit der KERNEL32.DLL hat es geklappt. Die Daten als TXT-Datei schicke ich dir an deine Mail-Adresse - ist für hier zu groß !
Mit der PSAPI.DLL war der Versuch nicht möglich.
Die Option "Gefundene Exportfunktionen Name" wird nicht angezeigt !
Ihr spammt den Thread hier voll. Hat ja mit dem Thema nüscht zu tun.
Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!