Home of Gamehacking - Archiv
String Auslesen? - 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: String Auslesen? (/showthread.php?tid=884)

Seiten: 1 2 3


RE: String Auslesen? - Bluespide - 05.03.2012

Ok hab es nochmal bearbeite. Pack es einfach in die Form und ersetz "Module1" durch den namen deines Trainermoduls.

Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
.   Private Function ReadStringUnicode(ByVal Adress As Integer) As String
        Dim enc As System.Text.Encoding = System.Text.Encoding.Unicode
        Dim str As String = ""
        Dim tByte As Integer = 0
        Do
            tByte = Module1.ReadByte(Adress)
            If tByte = 0 Then
                str += enc.GetString({tByte, tByte})
                Exit Do
            Else
                str += enc.GetString({tByte, Module1.ReadByte(Adress + 1)})
                Adress += 2
            End If
        Loop
        Return str
    End Function


du brauchst nur die Startadresse des String und die Funktion ließt ihn bis zum ende. z.B.

Code:
Label1.Text = ReadStringUnicode(&H5F7230)




RE: String Auslesen? - chesar - 05.03.2012

Ok, jetzt sind es nur noch 4 Fehler. :blush:
Tut mir echt Leid das ich dir aufm Sack gehe :P

[Bild: z5jtmszkxbx9.png]



RE: String Auslesen? - Bluespide - 05.03.2012

Mhhhh okay da bin ich mir grade nicht so sicher bei meiner 2010 Version geht das, versuch es mal so:

Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
.   Private Function ReadStringUnicode(ByVal Adress As Integer) As String
        Dim enc As System.Text.Encoding = System.Text.Encoding.Unicode
        Dim str As String = ""
        Dim tByte As Integer = 0
        Do
            tByte = Module1.ReadByte(Adress)
            If tByte = 0 Then
                str += enc.GetString(New Byte() {tByte, tByte})
                Exit Do
            Else
                str += enc.GetString(New Byte() {tByte, Module1.ReadByte(Adress + 1)})
                Adress += 2
            End If
        Loop
        Return str
    End Function




RE: String Auslesen? - chesar - 05.03.2012

Stimmt in 2010 geht es, aber auch mit deiner Zweiten Variante geht es auch in 2008.

Nur eine Frage noch geht das auch in Deutsch xD
Oder woran liegt das jetzt.

[Bild: bx3qsnwuw3ze.png]


RE: String Auslesen? - Bluespide - 05.03.2012

wow okay, entweder ist der String nicht im Unicode gespeichert oder du hast nicht die richtige Anfangsadresse angegeben. Sonst wüsste ich nicht waraum Huh


RE: String Auslesen? - chesar - 06.03.2012

Also die richtige Adresse ist das, in CE wird der Name richtig Angezeigt.
Wie meinst du dass. der String nicht im Unicode gespeichert?

EDIT:
Ich hab mal ReadByte mit Read_Long ausgetauscht.
Dann kommt jedoch dieser Fehler.

[Bild: pyr2dfvroext.png]


RE: String Auslesen? - Bluespide - 06.03.2012

Ja es muss schon readbyte sein, aber ich weiß grade auch ned warum das ned geht, denn bei mir hat es so funktioniert Huh.


RE: String Auslesen? - chesar - 06.03.2012

Aber wenn ich z.b. mit ReadByte die Bytes in einer Textbox anzeigen, stelle ich fest das er nicht alles ausliest, bei Read_Long schon.

[Bild: tesykqupkt.png]

[Bild: 895wcilsx315.png]

[Bild: kn8mxrkejumu.png]

Könntest du mir mal dein Projekt Hochladen?
Ich bin jetzt auch ratlos...


RE: String Auslesen? - Bluespide - 06.03.2012

Bei mir scheint es so zu funktionieren.

Code für das Test Projekt:

Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
Public Class Form1
    Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
        If Not Module1.GetProcessId(TextBox1.Text) Then
            MsgBox("Process not found")
            Return
        End If
        TextBox3.Text = ReadStringUnicode(Convert.ToInt32(TextBox2.Text, 16))
    End Sub

    Private Function ReadStringUnicode(ByVal Adress As Integer) As String
        Dim enc As System.Text.Encoding = System.Text.Encoding.Unicode
        Dim str As String = ""
        Dim tByte As Integer = 0
        Do
            tByte = Module1.ReadByte(Adress)
            If tByte = 0 Then
                str += enc.GetString(New Byte() {tByte, tByte})
                Exit Do
            Else
                str += enc.GetString(New Byte() {tByte, Module1.ReadByte(Adress + 1)})
                Adress += 2
            End If
        Loop
        Return str
    End Function
End Class




RE: String Auslesen? - chesar - 07.03.2012

Bei geht das nicht -.-
Könntest du mal bitte deine Projekt Mappe Hochladen?