Home of Gamehacking - Archiv
Pointer Byte to Float umwandeln - Druckversion

+- Home of Gamehacking - Archiv (http://archiv-homeofgamehacking.de)
+-- Forum: Coding (http://archiv-homeofgamehacking.de/forumdisplay.php?fid=15)
+--- Forum: Visual Basic 6, VB.NET (http://archiv-homeofgamehacking.de/forumdisplay.php?fid=19)
+--- Thema: Pointer Byte to Float umwandeln (/showthread.php?tid=568)

Seiten: 1 2


RE: Pointer Byte to Float umwandeln - bananajoe - 14.10.2011

dankeeee dir Happy Happy Happy


RE: Pointer Byte to Float umwandeln - DNA - 14.10.2011

Hey,

wie silent schon erwähnte, befindet sich so ein "converter" im Trainermodul 2.0


Entweder nimmst du direkt das Trainermodul, oder du kopierst dir die nachfolgenden Funktionen:
[code=VB] '4Byte to Float
Public Function 4Byte2Float(ByVal Value As Int32)
Dim floatnumber As Single
Dim floatbytes() As Byte = BitConverter.GetBytes(Value)
floatnumber = BitConverter.ToSingle(floatbytes, 0)
Return floatnumber
End Function

'Float to 4Byte
Public Function Float24Byte(ByVal Value As Single)
Dim longvalue As Int32
Dim longbytes() As Byte = BitConverter.GetBytes(Value)
Longvalue = BitConverter.ToInt32(longbytes, 0)
Return Longvalue
End Function[/code]

Folgender Aufruf wandelt deinen 4Byte Wert in Float um:
[code=VB]
Dim Float As Single
Dim 4Byte As Int32

4Byte = *HIER DER 4Byte WERT*
Float = 4Byte2Float(4Byte)[/code]

Und dieser folgende Aufruf macht das ganze wieder rückgängig:
[code=VB]
Dim Float As Single
Dim 4Byte As Int32

Float = *HIER DER Float WERT*
4Byte = Float24Byte(Float)[/code]

Das ganze lässt sich natürlich von einem 4-Zeiler in einen 2-Zeiler verkürzen, z.B.
[code=VB]
Dim 4Byte as Int32 = *HIER DER 4Byte WERT*
Dim Float as Single = Integer2Float(4Byte)[/code]

Falls du mein Trainermodul genommen hast, dann lösch die "Converter" Funktion
raus, ich glaube da sind mir gerade einige Fehler aufgefallen :blush:

Wenn ich mal wieder mehr Zeit habe, kommt ein Update.


RE: Pointer Byte to Float umwandeln - bananajoe - 14.10.2011

weis jemand wie ich text strings auslesen kann? zb den namen im game und sowaS?

wäre mir echt hilfreich wenn das jemand wüsste..


EDIT;
Danke dir DNA Happy hat nir sehr geholfen hab da noch die frage die über diesen text steht und einmal wegen dem Read und Write_Koords

undzwar kann ich glaube ich damit auslesen

Code:
Read_Koord(PlayerBasePointerEnd, &H79C, False)

aber schreiben kann ich nicht weil ich nicht weis was hinten als position rein soll :(...
wäre dir dankbar wenn du mir das sagen könntest..(stammt ja von dir :P )


EDIT:
kann ich denn bytes in text umwandeln irgendwie?


RE: Pointer Byte to Float umwandeln - DNA - 15.10.2011

Da hast du die Koordinaten aber falsch ausgelesen ...

auslesen:
[code=VB] Dim Koord1 As New Teleporter
Koord1 = Read_Koord(PlayerBasePointerEnd, &H79C, False)[/code]

schreiben:
[code=VB]Read_Koord(PlayerBasePointerEnd, &H79C, 0, Koord1)[/code]

Bytes in Text:
[code=VB]
text &= Chr(*byte*)
[/code]

*byte* durch deinen wert ersetzen


RE: Pointer Byte to Float umwandeln - bananajoe - 15.10.2011

DANKE DU BIST DER BESTE Happy

nur hinten bei position ist noch rot unterschtrichen... :O

EDIT:
was mach ich wenn die werte in bytes zu lang sind?...die sind länger als -6xxxx - 6xxxx oder so...ist einfach jetz ausn kopf aber du weist was ich mein^^


Mache ich was falsch? glaube schon^^

Code:
1
2
3
4
5
6
7
8
        Dim Name As Integer
        Dim Name1 As String

        GetProcessId(ProcName)
        RemoveProtection(ProcName, &HC79D18, 4)
        Name = Read_2Byte(&HC79D18)
        Name1 &= Chr(Name)
        TextBox2.Text = Name1


ich hab noch ne funktion = 2bytes hinzugefügt da es mit long ZU lang ist das was herraus kommt^^...
aber ich kann DAMIT jetz nur den anfangsbuchstaben herrauslesen...


RE: Pointer Byte to Float umwandeln - DNA - 15.10.2011

Hey,

für den Teleporter muss unbedingt folgendes noch rein ...
[code=VB] Public Class Teleporter
Public XKoord As Int32
Public YKoord As Int32
Public ZKoord As Int32
End Class[/code]


Um den Namen auszulesen, wäre is in deinem fall zur Zeit folgendes am besten...
[code=VB]Dim Name As Integer
Dim Name1 As String
GetProcessId(ProcName)

for i = 0 to *maximale namenslänge* - 1
Name = Read_Byte(&HC79D18 + i)
Name1 &= Chr(Name)
TextBox2.Text &= Name1
next [/code]

Im nächsten Trainermodul werde ich direkt so eine Funktion einbauen ^^


RE: Pointer Byte to Float umwandeln - bananajoe - 15.10.2011

cool das liest es auf jedenfall schonmal den namen...aber leider 5-6 mal..:(
und der anfangsbuchstabe kommt komischer weise 2mal vor..


mfg
Banana


RE: Pointer Byte to Float umwandeln - DNA - 15.10.2011

hast du darauf geachtet?

Name = Read_Byte(&HC79D18 + i)


RE: Pointer Byte to Float umwandeln - bananajoe - 15.10.2011

Jap...

hab jetz zb eine 10 dahin geschrieben als länge und hab das bekommen^^

"HHjHjgHjghHjghjHjghjHjghjHjghjHjghjHjghj"

und der name

"Hjghj"

kein plan woran das liegt..


RE: Pointer Byte to Float umwandeln - bananajoe - 16.10.2011

habs^^

das & war falsch unten bei textbox..

Code:
TextBox2.Text [b]&[/b]= Name1


Happy ohne den funzt es^^ doank dir..