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
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:
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 so das ichs versteh
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
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
- Private Function ConvertAddresses2(baseAddress As String, additionalAddress As Int64)
- 'Da ich meine ModuleBase Adresse vorher als String ausgelesen haben, convertiere ich sie in Int64 als Hex
- Dim ModuleBase As Int64 = CLng("&H" & baseAddress)
- Dim finalAddress As String
- 'Adressen werden addiert (also ModuleBase und die Zusatzadresse)
- Dim Munition As Int64 = ModuleBase + additionalAddress 'hier hätte ich dann hald ((((((ModuleBase + additionalAddress) + "&H??") + "&H??") + "&H??") + "&H??") + "&H??") gemacht..
- 'Adressen werden wieder in String umgewandelt (damit ich die Hex Adresse wieder lesen kann)
- finalAddress = Convert.ToString(Munition, 16)
- Return finalAddress
- 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 so das ichs versteh