Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Fremdes programm hookt CreateWindowEx (https://www.delphipraxis.net/174742-fremdes-programm-hookt-createwindowex.html)

Gruber_Hans_12345 7. Mai 2013 13:10

Fremdes programm hookt CreateWindowEx
 
Hallo

Ich habe eine Frage, ich habe den Verdacht das ein fremdes Programm die user32.dll/CreateWindowEx hookt

Denn wenn das programm gestartet ist, und ich mein Programm starte, dann habe ich extremste Verzögerungen drinnen (Und ich sehe das die Kernel Zeiten extrem hochgehen)

Habe das ganze nun auch bis aufs CreateWindowEx runtergebrochen, die braucht normalerweise nicht mal eine ms, aber wenn das fremde Programm gestartet ist, dann 55ms

Da es hauptsächlich in meinem Programm auffällt (ich brauche eine unmenge an CreateWindowEx) und andere Programme nicht so, möchte ich nun nachschauen wer/was das hookt und ob ich das umgehen kann ...

für alle infos mal
Besten dank

sx2008 7. Mai 2013 13:17

AW: Fremdes programm hookt CreateWindowEx
 
Kann nicht schaden das System mit GMER zu untersuchen...
http://www.gmer.net/

Gruber_Hans_12345 7. Mai 2013 13:21

AW: Fremdes programm hookt CreateWindowEx
 
Danke werde ich gleich mal testen ...

Allerdings weiss ich das es sich bei dem Programm um kein Illegales, oder RootKit oder co handelt, das ist ein teures CAD Programm
eventuell das es sich dabei um irgendeinen Kopierschutz oder so handelt ... oder oder oder ...

Gruber_Hans_12345 7. Mai 2013 14:05

AW: Fremdes programm hookt CreateWindowEx
 
nein, leider habe ich mit GMER nichts gefunden was auf irgendwas von diesem Programm hindeutet ...

Hat sonst noch wer eine Idee?

Luckie 7. Mai 2013 14:27

AW: Fremdes programm hookt CreateWindowEx
 
Und das ist nur bei deinem Programm so? Was macht dein Programm?

Gruber_Hans_12345 7. Mai 2013 14:29

AW: Fremdes programm hookt CreateWindowEx
 
Nein auch bei anderen Programmen auch, aber bei meinem eben extrem (anscheinend verwendet mein Programm sehr sehr viele solche CreateWindowEx)
im Taskmanager sehe ich es dann ja bei den BENUTZER_OBJEKTEN
und alle Programme die da eine hohe zahl haben, bei denen dauerts dann länger
Aber leider wie gesagt bei meinem Programm am schlimmsten (statt 3 Sekunden 30 Sekunden)

QuickAndDirty 7. Mai 2013 15:38

AW: Fremdes programm hookt CreateWindowEx
 
Gehen wir mal davon aus, deine Vermutung wäre korrekt.
Brauchst du nur den Beweis um dem Kunden zu zeigen, dass er sich an den anderen Hersteller wenden soll?
Oder willst du wirklich die Funktionsfähigkeit des anderen Programms zu Gunsten deines Programmes verhindern ,
denn das ist so der typische Verschlimmbesserungsansatz.

Gruber_Hans_12345 8. Mai 2013 08:38

AW: Fremdes programm hookt CreateWindowEx
 
Ja es wurde schon an das andere Programm weitergeleitet, nur das ist eben ein riesen großer Hersteller, wo ich vermute das es keine Lösung geben wird.

Daher habe ich auch noch im Hintergedanken, ob ich diesen Hook irgendwie dann auch aufheben kann, oder nur für mein Programm oder oder ...
man könnte dann ja schauen, ob es ein Problem für das andere Programm ist.

Den mein Programm ist dadurch eigentlich unbrauchbar ...

Namenloser 8. Mai 2013 10:37

AW: Fremdes programm hookt CreateWindowEx
 
Es gibt ja verschiedene Arten unter Windows etwas zu hooken. Einmal der „saubere“ Weg über SetWindowsHookEx und einmal indem man die ersten paar Bytes der Routine patcht und auf eigenen Code umleitet. WinAPI-Funktionen haben dafür extra ein paar Dummy-Operationen am Anfang.

Erstmal müsstest du rausfinden, um welche Art von Hook es sich handelt. Mit SetWindowsHookEx lässt sich CreateWindowEx zwar nicht direkt hooken, aber es kann durchaus sein, dass CreateWindowEx noch irgendeine Message an das neuerstellte Fenster schickt, die gehookt sein könnte.

Ich würde als erstes mal mit dem Debugger zur Adresse von SetWindowsHookEx springen und dort gucken, ob direkt am Anfang vielleicht irgendein Sprung-Befehl steht, der auf Patching hindeutet. In dem Fall sollte es relativ einfach sein, den Hook zu umgehen, indem du einfach die Dummy-Operationen an die Stelle zurückkopierst.

Kann dir aber natürlich nicht garantieren, wie das externe Programm auf solche Modifikationen reagiert... falls es sich wirklich um einen Kopierschutz handelt, wer weiß, ob dieser so eine Aktion nicht als „Angriff“ wertet (auch wenn es unberechtigt ist).

Gruber_Hans_12345 8. Mai 2013 10:49

AW: Fremdes programm hookt CreateWindowEx
 
ahso nein ich möchte nicht das andere Programm modifizieren

Ich dachte ob es eventuell gehen würde, das ich nachdem das andere Programm geladen ist, den Hook wieder lösche.
Oder sozusagen mein Programm vor diesen Hook "schütze"
sowas in der Art
eine Änderung oder Patch am fremden Programm will ich auf keinen Fall vornehmen


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:41 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