Pointer zusammenrechnen

  • VB.NET
  • .NET (FX) 4.0

Es gibt 4 Antworten in diesem Thema. Der letzte Beitrag () ist von Thunderbolt.

    Pointer zusammenrechnen

    Guten Tag,

    ich wollte mal fragen, wie man einen Pointer "richtig" zusammenrechnet, ich bin davon ausgegangen das es so ist:
    ((((((BaseAdresse + ZusatzAdresse) + Offset1) + Offset2) + Offset3) + Offset4) + Offset5) = PointerAdresse

    Da das ja alles Hex zahlen sind, hab ich diese so wie oben zusammengerechnet.. komme aber auf müll :D

    Beispiel:

    a. BaseAdresse: 13fb10000
    b. ZusatzAdresse: 024AAA18
    c. Offset1: 48
    d. Offset2: 80
    e. Offset3: 5C8
    f. Offset4: 0
    g. Offset5: 428

    Hier die passenden Zwischenergebnisse (die die ich mit Cheat Engine ausgelsen habe):

    a + b = 15C0B3E0
    ab + c = ..
    abc + d = ..
    abcd + e = ..
    abcde + f = ..
    abcdef + g = 162C75A0

    soo.. aber ich komm nur auf müll, und zwar mit:

    VB.NET-Quellcode

    1. Private Function ConvertAddresses2(baseAddress As String, additionalAddress As Int64)
    2. 'Da ich meine ModuleBase Adresse vorher als String ausgelesen haben, convertiere ich sie in Int64 als Hex
    3. Dim ModuleBase As Int64 = CLng("&H" & baseAddress)
    4. Dim finalAddress As String
    5. 'Adressen werden addiert (also ModuleBase und die Zusatzadresse)
    6. Dim Munition As Int64 = ModuleBase + additionalAddress 'hier hätte ich dann hald ((((((ModuleBase + additionalAddress) + "&H??") + "&H??") + "&H??") + "&H??") + "&H??") gemacht..
    7. 'Adressen werden wieder in String umgewandelt (damit ich die Hex Adresse wieder lesen kann)
    8. finalAddress = Convert.ToString(Munition, 16)
    9. Return finalAddress
    10. End Function


    mein Ergebnis von a + b = 141fbaa18
    (laut csgnetwork.com/hexaddsubcalc.html stimmt das ja.. aber warum hat CE dann da einen anderen Wert? Wie kann ich den so in VB berrechnen? + die offsets)

    Ich bin leider kein gelernter Programmierer und würde mich sehr freuen wenn mich wer aufklärt :D so das ichs versteh :rolleyes:
    Nicht ganz Themenrelevant, aber für die Zukunft wichtig:

    Syn0tix schrieb:

    Da das ja alles Hex zahlen sind

    String to Hex
    Was Du bei a. BaseAdresse: 13fb10000 siehst ist die hexadezimale Repräsentation, also Basis 16.
    Nur dass Du nicht Äpfel und Birne zusammenzählst.
    "Luckily luh... luckily it wasn't poi-"
    -- Brady in Wonderland, 23. Februar 2015, 1:56
    Desktop Pinner | ApplicationSettings | OnUtils