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? - chesar - 08.03.2012

Dank DNA seiner hilfe geht es nun.
Auch dir ein RISEN Dank Bluespide das du mir so viel geholfen hast.

DNA schrieb:Hey,

füg das hier mal ins Trainermodul ein

[code=VB] Public Function Read_String(ByVal startaddi As Int32, ByVal length As Int32)
Dim value As Int32
Dim str As String
For i = 0 To length - 1
value = Read_Byte(startaddi + i)

str &= Convert.ToChar(value)
Next
Return str
End Function[/code]

Dann kannst du das vom Programm aus so aufrufen

[code=VB]
GetProcessId(ProcName)
Dim name As String = Read_String(&H293EE08, 4)
MsgBox(name)
[/code]
&H293EE08 = Startadresse
4 = Wieviel bytes ausgelesen werden sollen.



RE: String Auslesen? - 3DGamer - 31.07.2012

Hallo Leute,

ich hätte auch mal eine Frage dazu. Der Code der jetzt angegeben wurde liest einwandfrei einen String aus, wenn ich die Addresse dazu habe...

Jetzt ist mein Problem, dass ich einen Pointer habe, der auf einen Text zeigt und ich möchte diesen auslesen. An sich hört sich das nicht schwierig an, aber ich habe die Pointer bis jetzt mit dem Trainermodul ausgelesen, und ich weiß nicht wie ich bei der Funktion Read_Pointer an die Addresse komme, auf die der Pointer zeigt => ich kann den String nicht auslesen ._.

MfG

3D

P.S.: Bin neu hier und total begeistert von diesem Forum und das Trainermodul ist wirklich 1A *-* *LOB*


RE: String Auslesen? - DNA - 31.07.2012

Hey,
Willkommen bei HoG Wink

Du musst das letzte Offset in der read_pointer Funktion weg lassen.

Nehmen wir mal an, du hast 3 offsets... 10, 20 & 30,
dann würdest du das ganze normalerweise ja so auslesen:
[code=vb]
Dim addi as int32 = read_pointer(startaddi, &H10, &H20, &H 30)
[/code]

Für einen String sieht das ganze folgendermaßen aus:
[code=vb]
Dim addi as int32 = read_pointer(startaddi, &H10, &H20)

Dim Text as String = read_string(addi + &H30, stringlänge)
[/code]
Dabei muss die read_string Funktion natürlich vorhanden sein.

Einfach mal testen und bescheid geben.




RE: String Auslesen? - 3DGamer - 31.07.2012

Hallo und Danke Smiling

Ich wusste schon, dass es irgendwie so geht aber genau der Denkanstoß hat mir gefehlt. ^^
Vielen Dank nochmal, ich weiß jetzt noch nicht ob es geht, aber ich schreib dann später noch was dazu, hab jetzt grade keine Zeit mehr das zu testen, aber klingt logisch ^^

Grüße

3D


EDIT//
Ok geht ! Cool


RE: String Auslesen? - 3DGamer - 01.08.2012

Ok eine Frage stellt sich mir noch:
Wie kann man in einen Pointer einen String SCHREIBEN ?
Wenn ich die Write Pointer Funktion nehme, dann kann ich nur Zahlen schreiben und wenn ich das mache kommt zufällig irgendein Zeichen dabei raus...
Ich denke ich muss vorher den String den ich reinschreiben will in einen Integer umwandeln, richtig ?

Und wenn ja wie ?

EDIT//

Ne so einfach geht das nicht ^^


RE: String Auslesen? - iNvIcTUs oRCuS - 01.08.2012

In einen Pointer wird man keinen String schreiben können weil, wie der Name Pointer schon sagt, ein Pointer nur ein Zeiger auf eine weitere Stelle/Adresse oder Speicherbereich ist.
Ich nehme an Du meintest also die Stelle wohin der Pointer zeigt?


RE: String Auslesen? - 3DGamer - 01.08.2012

Sorry für meine falsche Ausdrucksweise, aber wenn im Trainermodul "Write_Pointer" steht, kann das schonmal passieren Wink. Natürlich will ich den String-Wert der endgültigen Addresse (d.h. mit allen Offsets) verändern.


RE: String Auslesen? - DNA - 01.08.2012

Du musst jeden Buchstaben einzelnd umwandeln und anschließend Byte für Byte
(Buchstabe für Buchstabe) schreiben.



RE: String Auslesen? - 3DGamer - 01.08.2012

Ok, klingt ja nicht wirklich "komfortabel" ._.
naja dann lass ich das wohl weg danke für die Info


RE: String Auslesen? - Bluespide - 06.08.2012

So schwer is da glaube ich gar nicht :P. Irgendwie so.

Code:
Dim bytes() As Byte = System.Text.Encoding.ASCII.GetBytes("Den Text")
For i = 0 To bytes.Length - 1
    SchreibeDasByte(bytes(i), addresse + i)
Next
SchreibeDasByte(&H0, addresse + i + 1)