[C#] hex addresse via code finden

Dieses Thema im Forum "Programmierung & Entwicklung" wurde erstellt von zer0x2k, 13. Juni 2011 .

Schlagworte:
Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. 13. Juni 2011
    hex addresse via code finden

    Moin,

    hab da en kleenes Problem...
    Ich habe ein programm mit hilfe der windows api(kernel32.dll) gebaut...
    Dort will ich einen anderen Prozess manipulieren...

    Code:
    Process[] CSProc = Process.GetProcessesByName("Prozess");
    IntPtr ProcHandle = OpenProcess(0x001F0FFF, true, CSProc[0].Id);
    WriteProcessMemory(ProcHandle, 0x0019A6E4, Patch, Patch.Length, 0);
    Jetzt ändert sich die Addresse bei jedem Start des Prozesses (den ich manipulieren will)

    Wie hier :

    0x000EA6E4
    0x0020A6E4
    0x003AA6E4
    0x0019A6E4

    Jetzt ist meine frage...
    Wie kann ich diese Addressen eindeutig Identifizieren da sie ja iwi nach nem gewissen musster auftretten

    Sorry bin in dieser Richtung der Programmierung noch en newbie

    Der Value der Addresse ändert sich im laufe des Programms...
    Im hex editor daher leicht zu finden doch wie finde ich die addresse jetzt im code ?


    MfG

    zer0x2k
     
  2. 13. Juni 2011
    AW: hex addresse via code finden

    Die Addresse einer statische Variable ist abhängig von Ihrem Modul. Und je nach dem in welcher Reihenfolge und wie Windows grad Bock/Platz hat werden die Module in unterschiedlich Virtuelle Addressräume beim Starten des Prozesses geladen.

    Sprich du musst ganz einfach herausfinden zu welchem Modul die Addresse gehört, dann kannst du daraus die relative Addresse zur Startaddresse des Moduls berechnen.

    Durch die Module eines Prozesses kannst du mit Module32First und Module32Next iterieren und damit die Startaddressen herausfinden, auf die du nur noch deine relative Addresse drauf addieren musst und schon hast du die absolute Addresse.

    Mfg Rushh0ur
     
  3. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.