Hook unwirksam


  • Mod

    Oder, dass die Software sich gegen DLL-Injection wehrt ...



  • Badestrand_off schrieb:

    the dude schrieb:

    Moeglicherweise verwendet das Programm selbst schon einen Hook, aber selbst dann sollte doch meiner aufgerufen werden (und dann halt evtl. weitergeleitet via CallNextHookEx).

    Es kann durchaus sein, dass der Hook des Programms nicht CallNextHookEx aufruft.

    Naja, aber laut MSDN wird mein Hook als erstes abgearbeitet.

    MSDN schrieb:

    The SetWindowsHookEx function always installs a hook procedure at the beginning of a hook chain. When an event occurs that is monitored by a particular type of hook, the system calls the procedure at the beginning of the hook chain associated with the hook. Each hook procedure in the chain determines whether to pass the event to the next procedure. A hook procedure passes an event to the next procedure by calling the CallNextHookEx function.

    Das Programm ist ja schon fertig gestartet, wenn ich meinen Hook einrichte. Von daher sollte er doch am Anfang stehen.

    Martin Richter schrieb:

    Oder, dass die Software sich gegen DLL-Injection wehrt ...

    Wie koennte das aussehen? Und wenn es Mittel dagegen gibt: wie kann man das umgehen? Stichworte? Zwar glaube ich nicht wirklich dran (ist ein Offline-Spiel), moeglich waere es aber.

    Fallen euch noch andere Sachen ein (und evtl. wie man ueberpruefen koennte, ob sie zutreffen)?

    Vielen Dank schonmal.



  • was nutzt du für'n injector?

    ...und evtl. wie man ueberpruefen koennte...

    hast du ne logdatei in der dll. wäre vorteilhaft.

    ...wie kann man das umgehen?...

    den richtigen injector nutzen o. selber einen schreiben.


  • Mod

    1. Ist das ein DirectX Spiel?
    2. Welche Art von Hook verwendest Du?

    DirectInput kommuniziert mit Tastatur/Maus auf Treiber Level, also unterhalb der API Schicht.



  • Martin Richter schrieb:

    1. Ist das ein DirectX Spiel?

    Ja

    Martin Richter schrieb:

    2. Welche Art von Hook verwendest Du?

    Keyboard Hook (WH_KEYBOARD)

    Martin Richter schrieb:

    DirectInput kommuniziert mit Tastatur/Maus auf Treiber Level, also unterhalb der API Schicht.

    Bei einem anderen DX Spiel gehts.

    Hm, demnach koennte man es ja mal mit WH_KEYBOARD_LL versuchen.

    Ich habe mir gerade mal eine Meldung ausgeben lassen, wenn die DLL einem neuen Prozess "attached" wird. Das auffallende ist, dass das jedes mal aufs neue geschieht, wenn ich das Programm minimiere und wieder maximiere. Mehr passieren tut dann aber auch nicht ...



  • Grad getestet: Low Lvl hook bringt auch nichts.

    Von DirectInput auf "normal" umstellen scheint man nirgends zu koennen, aber ich glaube auch irgendwie nicht, dass das das Problem ist - gerade wegen dem staendigen attachen.
    Mal schauen, ob ich dazu noch was finde. Oder wenn irgendjemand ne Idee hat, woher das kommen kann: immer raus damit.



  • Martin Richter schrieb:

    1DirectInput kommuniziert mit Tastatur/Maus auf Treiber Level, also unterhalb der API Schicht.

    Bist du dir sicher? Ich hab gerade keine Quelle, aber ich meine gelesen zu haben, dass DirectInput nur die Windows-Messages verarbeitet.



  • http://msdn.microsoft.com/en-us/library/bb206292(VS.85).aspx schrieb:

    Because DirectInput works directly with the device drivers, it either suppresses or ignores Windows mouse and keyboard messages.

    vs

    http://msdn.microsoft.com/en-us/library/bb219802(VS.85).aspx schrieb:

    The use of DirectInput for keyboard and mouse input is not recommended, Windows messages should be used instead

    😕


  • Mod

    Was ist Dir unklar?



  • Martin Richter schrieb:

    Was ist Dir unklar?

    Merkwürdig, vorhin war da noch ein Mega Widerspruch.. 🙂 Hat sich also erledigt..


Anmelden zum Antworten