Addresse an Methode zuweißen.



  • hallo, ich würde gerne einer Methode einer Klasse eine Addresse zuweißen. Also z. B. wenn ich weiß dass eine Methode an 0x66666666 ist, will ich diese addresse zuweißen damit dann auch diese methode an der addresse ausgeführt wird.



  • Einfach einen Eimer Farbe kaufen! (am besten Weiß)

    Gruß,

    Simon2.



    1. Deutsch sprechen.
    2. Lösung suchen
    3. Du kannst nur Funktionszeiger auf statische Funktionen zeigen lassen.


  • funcpointer, das, was Du sagst, ergibt nicht viel Sinn.

    funcpointer schrieb:

    hallo, ich würde gerne einer Methode einer Klasse eine Addresse zuweißen.

    Funktionen sind Funktionen und Zeiger sind Zeiger. Du kannst keiner Funktion eine Adresse zuweisen. Du kannst aber die Adresse einer Funktion einem Zeiger zuweisen.

    Oder meinst Du vielleicht, dass Du eine Elementfunktion ("Methode") für ein bestimmtes Objekt, dessen Adresse Du kennst, ausführen willst? Das würde man dann so machen: zeiger_auf_object->methode_von_object();

    Gruß,
    SP



  • also ich erkläre mal mein Problem genauer. Ich hab ein Programm in einem Debugger geöffnet und das hier gesehen:
    public: void __thiscall Objekt::SetObj(int const &)

    ich hab jetz in meinem eigenen Programm eine Objekt Klasse mit der methode SetObj(int const &) erstellt, aber ich will, dass wenn ich SetObj() aufrufe nicht die aus meinem Programm, sondern das SetObj aus dem Programm in dem Debugger ausgeführt wird. Ich hab ja die Addresse von der Funktion also dachte ich kann ich diese zuweisen, damit diese dann ausgeführt wird. (Natürlich hab ich die dll injectet, muss ja gleicher Prozessraum sein, damit ich auf die addresse zugreifen kann.)



  • Ich versteh den Sinn nicht ganz...
    Du hast eine Klasse mit einer Funktion SetObj. Das verändert ja dein Objekt, indem es was setzt...
    Und nun willst du da eine ganz andere Funktion ausgeführt bekommen, die nichts mit deinem aktuellen Objekt zu tun hat, und von der du nur die Adresse kennst?

    Ist das denn eine freie Funktion, also nicht gebunden an eine Klasse?
    Dann lad doch die Library (wenn das wirklich eine ist, was ich bezweifel..) mittel dlload(Unix)/LoadLibrary(Win) und hol dir das symbol.


Anmelden zum Antworten