[C++] Hooking



  • suchfunktion. das thema haben wir gefühlte alle 12 stunden.



  • Hab ich schon, nur nichts passendes gefunden... aber ich such mal weiter, danke.

    was wäre denn am besten um eine ganze funktion in einer dll, bzw die ganze dll zu hooken? ich habe durch MSDN SetWindowsHookEx Function gefunden, doch ich glaube da bin ich ganz falsch



  • man hooked keine DLLs sondern funktionen 🙄 und wenn du behauptest mit der suchfunktion nichts zum thema api hooking gefunden zu haben, dann bist du ein dreister lügner.

    ps @mods, ich bin dafür threads zum thema hooking zukünftig kommentarlos zu schließen. die nerven nur ab.



  • es befinden sich allein auf der ERSTEN seite hier im winapi forum MEHRERE threads zum besagten thema 👎 👎 👎



  • Bruwcold schrieb:

    was wäre denn am besten um eine ganze funktion in einer dll, bzw die ganze dll zu hooken?

    Falscher Ansatz wenn Du sie nur wirkungslos machen willst. Wird die DLL in jeden laufenden Prozess geladen ?



  • antihook schrieb:

    Bruwcold schrieb:

    was wäre denn am besten um eine ganze funktion in einer dll, bzw die ganze dll zu hooken?

    Falscher Ansatz wenn Du sie nur wirkungslos machen willst. Wird die DLL in jeden laufenden Prozess geladen ?

    Sie wird nur in einen Prozess geladen.

    Randeolf halt dich bitte jetzt von dem Thema raus, denn deine unnötigen Kommentare kannst du dir wirklich sparen



  • die sind nich so unnötig wie dein unnötiger thread, noob.



  • Bruwcold schrieb:

    Sie wird nur in einen Prozess geladen.

    Ach so. Gehört die DLL zu dem Programm? Wenn ja, dann braucht nichts gehookt zu werden.
    Dann reicht es meistens, den Rückgabewert der "Scanfunktion" zu manipulieren.



  • Man, bist du dir sicher dass du überhaupt einen hook setzen musst?
    Was genau willst du tun?

    Randeolf schrieb:

    ps @mods, ich bin dafür threads zum thema hooking zukünftig kommentarlos zu schließen. die nerven nur ab.

    ahahahahaha!



  • Wenn du etwas machen möchtest, was man allgemein als völlig OK ansieht, warum sagst du dann nicht WAS du machen möchtest (was für ein Programm, warum willst du diese Funktion "deaktivieren" etc.)? Und wenn du etwas machen willst was mal allgemein als "nicht OK" ansieht, wieso wunderst du dich dann dass dir keiner helfen will?

    Davon abgesehen gibt es mehrere Möglichkeiten etwas zu hooken. Eine der üblichen ist es die ersten paar Byte der Funktion woandershin zu "kopieren" (was sich einfach anhört, aber sehr schwer ist, da man diese ersten paar Byte oft noch modifizieren muss -- je nachdem was für Befehle da stehen) und dann zu überschreiben. Ist aber sehr komplex. Eine andere wäre die Importe rauszusuchen, und dann alle Adressen die auf die eine Funktion verweisen zu überschreiben.

    Da du aber nicht so der erfahrene Windows-System-Programmierer zu sein scheinst behaupte ich einfach mal dass du das sowieso nicht hinbekommst -- ist nämlich wie gesagt nicht so einfach. Vor allem wenn der Prozess bzw. die DLL gerade solche Veränderungen verhindern möchten.



  • Ja ich glaube die DLL gehört zum Prozess. Also sie baut eine stetige Verbindung zwischen dem Prozess und der DLL und sucht nach Modifikationen im Prozess oder selbst in der DLL.

    Gibt es ein Beispiel um den Rückgabewert zu manipulieren? Dafür bräuchte ich ja auch die zugehörige Adresse, wo es wieder ein Problem gibt sie zu finden oder?

    Vielen dank für deine Hilfe 🙂



  • Sorry hab deinen anderen Beitrag nicht gesehen..

    Es ist eben schwer zu erklären. Ich möchte Verhindern, das die DLL in meinem eigenen Prozess etwas sucht. War sowas ähnliches wie ne Wette mit einem Kollegen, dass ich sein Programm nicht modifizieren kann. Und er hat eine DLL (ich weiß nicht ob selbst gemacht oder irgendwoher bekommen wenn es sowas zum downloaden gibt), die in seinen Prozess nach veränderungen sucht.

    Achja, ich versteh nicht ganz was ihr alle mit Cheat-Zeugs habt....



  • Bruwcold. schrieb:

    Achja, ich versteh nicht ganz was ihr alle mit Cheat-Zeugs habt....

    weil viele (multiplayer-)spiele eben solche speicherüberwachenden tools haben 😉

    Bruwcold. schrieb:

    Ich möchte Verhindern, das die DLL in meinem eigenen Prozess etwas sucht.

    woher weiß die DLL denn, das dein prozess gestartet wurde, und welche zurgiffs-
    rechte hat sie auf dein prozess? wenn die PROCESS_ALL_ACCESS hat, dann gn8.

    weißt du ebenfalls wann der andere prozess gestartet wird? und welche zugriffs-
    rechte hast du auf den anderen prozess?

    solltest du ein vollzugriffs-handle auf den prozess haben,
    sollte das möglich sein.

    du holst dir die addressen von LoadLibrary und GetProcAddress
    schreibst die addressen, den namen der datei und der zu hookenden funktion
    (char[256]), sowie deine hookfunktion in den prozess mit VirtualAlloxEx und
    WriteProcessMemory. dann erstellst du einen remote-thread und gibst als
    parameter den speicherbereich.

    wenn das klappt haste fast schon gewonnen.

    die hookfunktion muss "nurnoch" die datei laden und die addresse holen.
    die ersten paar bytes überschreiben mit den opcode für z.b.
    mov eax, [rückgabewert] ret [größe der parameter]

    die größe der parameter bekommst durch einen debugger der die funktionsnamen
    dekoriert z.b. _v8TuDiesUndDas@16vE <- 16 !!



  • Bruwcold. schrieb:

    Sorry hab deinen anderen Beitrag nicht gesehen..

    Es ist eben schwer zu erklären. Ich möchte Verhindern, das die DLL in meinem eigenen Prozess etwas sucht. War sowas ähnliches wie ne Wette mit einem Kollegen, dass ich sein Programm nicht modifizieren kann. Und er hat eine DLL (ich weiß nicht ob selbst gemacht oder irgendwoher bekommen wenn es sowas zum downloaden gibt), die in seinen Prozess nach veränderungen sucht.

    Achja, ich versteh nicht ganz was ihr alle mit Cheat-Zeugs habt....

    Dann nehme einfach ein Tool so wie dieses, damit siehst Du wer an Deiner DLL horcht 😉

    http://www.nirsoft.net/utils/injected_dll.html

    EDIT : Dort findest Du auch noch weitere Programme die einige Deiner Fragen beantworten !?



  • und wieso schließt du großspurig ne wette mit deinem kumpel ab, wenn du offensichtlich null ahnung vom thema hast. sowas macht nur ein vollidiot und angeber 🙄



  • Super danke euch 🙂

    Ich werds mal probieren, vielleicht krieg ichs ja einigermaßen hin.

    Vielen Dank leute

    @Randeolf oder leute die langeweile haben! Man sollte dich bannen wenn du registriert wärst...



  • man sollte diesen thread auch gelöscht haben, damit wir gar nicht erst mit deiner dummheit konfrontiert worden wären, aber das leben is nun mal kein wunschkonzert.



  • 50 Jahre, Hartz IV und keine Freunde? So schätze ich dich ein!



  • hast es wohl nich hingekriegt=)


Anmelden zum Antworten