64os dll Problem



  • hallo

    Weis den niemand was das Problem ist?
    was låuft da nur falsch??

    grüsse



  • Hey

    Scheinbar geht dies einfach nicht. 😞 ein Bug seitens MS ?
    Oder habe ich da einfach konzeptionelle Probleme ? Scheinbar muss mann auf etwas achten im bezug auf SysWow64 ... Aber wie gesagt hab keine Ahnung, und auch schon alles Probiert, inclusive das Halbe Web nach diesem Problem durchforstet. Scheinbar hat da niemand eine Ahnung wie das richtig geht.
    Wäre immer noch auf jede Hilfe dankbar. Ich will ja nicht Code sehen, will nur wissen wie das auf 64 OS gemacht wird bzw. was ich speziell mit syswow64 beachten muss. Oder was eigentlich genau das Probelm ist !
    Den unter 32Bit Os funktioniert der Hook einwandfrei. Bei 64OS nur bedingt, mit den oben genannten Problemen.(3Posts witer oben).

    michaela caminada


  • Mod

    Die letZte Lösung ist immer, das andere den Fehler machen? 😕

    Und Du hast alles bzgl. Wow64 gelesen und beachtet?
    http://msdn.microsoft.com/en-us/library/aa384274(VS.85).aspx

    Global Hooks
    The SetWindowsHookEx function can be used to inject a DLL into another process if the following conditions are met:

    A 32-bit DLL can be injected only into a 32-bit process, and a 64-bit DLL can be injected only into a 64-bit process. It is not possible to inject a 32-bit DLL into a 64-bit process or vice versa.
    The 32-bit and 64-bit DLLs must have different names.
    For more information, see SetWindowsHookEx.
    Be aware that the WH_MOUSE, WH_KEYBOARD, WH_JOURNAL*, WH_SHELL, and low-level hooks can be called on the thread that installed the hook rather than the thread processing the hook. For these hooks, it is possible that both the 32-bit and 64-bit hooks will be called if a 32-bit hook is ahead of a 64-bit hook in the hook chain. For more information, see Using Hooks.

    BTW: Meine Hooks laufen... 🕶
    PS: Ich bin gerade wieder meinen eigenen Prinzipien untreu geworden und helfe beim Hooking. Ich kann es kaum fassen... 🤡



  • hey

    Geholfen hasst du bisher überhaupt nicht.
    Musst auch nicht.
    Und ja ich habe alles gelesen.
    Am Quelltext an mûsstest du ja sehen was falsch ist.

    mc


  • Mod

    mc schrieb:

    Am Quelltext an mûsstest du ja sehen was falsch ist.

    Nein!
    Sehe ich nicht wie Dein Projekt heißt, d.h. ob Deine 64bit DLL und 32bit DLL unterschieldich heißen. Ich sehe nicht wo diese platziert sind etc. Ich sehe Deine Projketeinstellungen nicht. All das kann negative Effekte haben. Nichts davon sehe ich...

    Geholfen habe ich Dir nicht?
    Ich gebe Dir wenigstens Futter zum nachdenken...



  • hey

    ja das stimmt. die dll's haben unterschiedliche namen.
    was muss ich den beachten bei den prject einstellungen?
    und was wo platziert ?
    wie ich geschrieben habe passiert es auch wen ich nur eine dll laufen lasse.
    wen ich zbsp. 32bit dll injeziere. dan hängt es wen icj eine eingabe in einer 64bit anwendung mache. ja ich weis ich kann keine 64bi apps mit einer 32bi dll machen. doch hängen sollte es auch nicht.. es dürfte ja nicht mal etwas passieren, da ja die 32bit dll, niemals in den 64bit prozess injeziert wird.
    daher kann ich es nicht verstehen.
    wen ich nur bei 32bit anwendungen etwas eingebe, funktioniert er ja tadellos, bis ich bei einer 64bit app was eingebe. dan hängt das programm. aber der 64bit prozess, mappt die dll ja gar nicht!?darum verstehe ich das problem nicht.

    mc



  • wäre noch schön, wenn du mir sagen könntest auf was ich bei den project einstellungen achten muss!

    mc



  • Hey

    hängt es vielleicht damit zusammen das ich die 64/32 dll für das 64os auf einem 32os übersetze ?

    ich habe schon alles durchgelesen, und alles probiert, und dies scheint mir die letzte mögliche fehlerquelle.

    ich bin über jede hilfe dankbar.

    mc



  • Hey

    Habe mein Problem immer noch nicht gelöst.
    Dieses problem habe ich ... wenn das vielleicht verständlicher ist.

    http://social.msdn.microsoft.com/Forums/en-US/windowsgeneraldevelopmentissues/thread/236a1e72-0ec3-471d-88a7-572462a5d684

    mc



  • Hallo

    Habe das Problem zwar immer noch nicht schön gelöst. Doch habe jetz wirklich fast alles zu Hooks gelesen. Das Problem scheint dies zu sein, das das 64Bit OS in einer VM ausgeführt wird. Habe schon von ein paar gelesen die das gleiche Problem haben.

    Doch man kann es auch anders lösen indem man Prüft welches Programm der aktuelle Fokus hat, um dann zu ermittel ob das Programm 64Bit ist oder nicht. Dann einfach der eintsprechende Hook 32/64Bit installieren / deinstallieren. Umständlich aber es funktioniert unter Vista/Win7 64Bit in einer VM-Ware.

    mc


Anmelden zum Antworten