dec in hex



  • Hi,

    ich schreibe gerade ein kleines Überwachungstool und bei meinen abfragen habe ich leider nun ein Problem

    AreaID wurde voher aus dem Speicher ausgelesen und nun wird verglichen ob der Wert im Speicher auch wirklich 24 ist.

    Also löse ich AreaId die als Dec vorliegt auf:

    int AreaID2 = AreaID;
    char Hex[9];
    _itoa(AreaID2, Hex, 16) ;

    AreaId muss ja als hexwert vorlegen damit ich mit ReadProcessMemory wieder den Wert auslesen kann.
    Als test sehe ich Area ist wieder ein hexwert.

    cout <<"Area als Hex: "<< Hex << "\n";

    ReadProcessMemory(hproc,(LPCVOID)Hex,&bufferneu,sizeof(bufferneu),&rw);

    dies liefert mir dann leider immer 0.
    Versuche ich Hex als int oder dec zu speichern geht das nicht weil ich es ja als char habe.

    Wie bitte kann ich den Hexwert als int oder als hex speichern das ich dsa auch wieder auslesen kann ??

    unsigned StartMem_Position_A = 0x00000000; // Fängt im Speicher bei 0 an zu laufen

    so habe ich meine Startposition festgelegt aber leider kann ich hex nicht in unsignet umschreiben.

    Hoffe ihr versteht mein Problem.
    Mfg

    emtec



  • Äh... 😕
    Nimm doch einfach einen Integer-Zeiger, der auf eine Stelle im Speicher zeigt und dereferenziere diesen.



  • Dieser Thread wurde von Moderator/in evilissimo aus dem Forum C++ in das Forum WinAPI verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.



  • hi,

    lustig 2 tage nach einer lösung gesucht und nun klappt es ...



  • emtec schrieb:

    hi,

    lustig 2 tage nach einer lösung gesucht und nun klappt es ...

    Und wie hast du es gelöst? Bitte für andere Leser etwas ausführlicher 😉



  • emtec schrieb:

    AreaId muss ja als hexwert vorlegen damit ich mit ReadProcessMemory wieder den Wert auslesen kann.

    Unfug. ReadProcessMemory will einen Zeiger auf eine Speicheradresse, keinen String wo die Adresse in Hexadezimal-Darstellung drin steht.



  • Troll hat recht ich habe nur falsch gedacht.

    Ich musste nur den Pointer einsetzen und fertig wars.... war nur ein dummer denkfehler.


Anmelden zum Antworten