ich hab zurzeit ein kleines Problem wo in Google nicht viel drüber steht.
Undzwar ich will von einem Pointer den Text auslesen allerdings gelingt mir das nicht so wirklich, entweder ich schaff nur den ersten Buchstaben auszulesen ( liegt daran das ich die länge angeben muss,aber klappt nicht so wie ich das will) oder dort kommt nur komisches Zeug raus.
Falls du sie nicht kennst, müsstest du es wohl wirklich in einer Schleife machen, was allerdings bei längeren Strings langsam wird, außerdem versteh ich nicht, wieso man die Länge des Strings nicht kennen sollte o.ô Willst du einen Chat o.Ä. auslesen?
Normalerweise hat ein Chat eine Variable für die Länge der Nachricht oder eine Max-Länge, die nicht überschritten werden kann.
D.h. du könntest entweder die Variable für die Länge auslesen oder die Variable für die Max-Länge und dann so viele Bytes auslesen; wenn die Länge nicht voll ausgenutzt wird, sollten dahinter Nullen sein, sodass du keinen Müll in deinem String hast.
Sollte keins von beidem zu finden sein (zb. per CE), müsstest du wirklich in einer Schleife immer nur ein Byte auslesen und prüfen, ob der Null-Terminator erreicht ist.
Oder, wenn du im gleichen Prozess bist, zb. via Dll-Injection einfach strcpy. Die Funktion hört nach dem Null-Terminator automatisch auf.
Will irgendwie alles nicht, liegt aber auch bestimmt zum größten Teil an meiner mangelnden Erfahrung.
Wie sieht das mit der Schleife bei einem Multilevel Pointer aus in einer dll?
Text typ ist Ansi.
Erstmal: Wie kannst du, bevor du den Pointer in der Schleife dereferenzierst, strlen benutzen? o.ô Macht doch keinen Sinn, wenn das ein Multilevel Pointer ist; bei strlen musst du genau so dereferenzieren wie für den Aufruf von strcpy.
Außerdem, setzt du addr am Anfang der Schleife wieder auf den Base Pointer? Falls nicht, ist das das Problem. Du willst sonst nämlich die ersten vier Bytes des Strings im zweiten Durchgang wieder als Pointer interpretieren und diesern erneut 5 Mal dereferenzieren.
Das mit strlen kann ich mir auch nicht erklären aber es klappt,
der Crash kahm dadurch das ich addr am Anfang der Schleife nicht wieder auf die Base gelegt habe.
Nun klappt alles einwandfrei, nur ist das für Ansi, nun möchte ich das auch noch gerne in Unicode haben, wegen den Charnamen uvm , hab gelesen das ich dafür die Funktion MultibytetoWide benutzen muss.
Nimm einfach statt char wchar_t
Nur verstehe ich nicht ganz wieso. Wenn der Chat in Ansi ist, was bringt es dir dann, ihn in Unicode darzustellen? Es können doch eh nicht mehr Zeichen als die aus dem ASCII Zeichensatz dort geschrieben werden o.ô
Ich würde dir trotzdem raten, es bei strlen richtig zu machen, ich denke nämlich nicht, dass du die richtige String-Länge ausliest, sondern die Bytes, auf die der Basepointer zeigt, als String interpretierst und die Anzahl der Bytes bis zu einem 0 Byte zählst.
Das wird sicherlich nicht immer gehen...
Verstehe ich nicht, was haben die mit dem Chat zutun? Wenn man im Chat nur Ansi schreiben kann, sind doch die Namen egal o.ô Dann liest du eben die Namen in wchar_ts ein und die Nachrichten in Ansi Strings.
Man kann auch nicht einfach so konvertieren, entweder nimmst du von Anfang an für alle Strings wchar_t und dementsprechend auch wcslen, wcscpy usw. oder du nutzt mbtowcs und wcstomb zum konvertieren.
[Frage]Teil eines String auslesen 03/04/2011 - AutoIt - 5 Replies Hey Com,
ich hab mal eine Frage und zwar habe ich ein String, aus dem ich ein Bestimmtes Wort auslesen möchte. Soweit klappt ja auch alles mit StringInStr allerdings möchte ich anschließend ein stück weiter links von dem gefundenen Wort ein weiteren teil des Strings auslesen und frage mich ob das irgendwie machbar ist.
MfG, BlackHybrid
[C++] ReadProcessMemory Text? 09/12/2010 - C/C++ - 5 Replies die frage kommt den pros hier vllt etwas dumm vor, aber
ich befasse mich ja erst seit 2 wochen mit c++:
ich habe folgenden code:
ReadProcessMemory(handle,(LPVOID)address,&text ,sizeof(long),&numBytesRead);
cout << hex << text << "\n";
cout << char(text) << "\n";
ich will in einem spiel einen text auslesen.
der erste wert in der konsole entspricht dem 4 bytes wert in CE.
string von internet seite auslesen? 09/08/2010 - AutoIt - 9 Replies hallöle :D
wieder mal eine frage^^
kann man irgendwie einen bestimmte string auf einer internetseite suchen?
möchte in ein script ein schutz einfügen das nur diejenigen auf einen bestimmten teil drauf zugreifenkönnen bei denen der Computername auf der seite steht :D
also
$string = ....String suchen.....
C++ String aus Memory auslesen 05/08/2010 - C/C++ - 1 Replies Hallo zusammen ;)
Ich probiere mich derzeit ein wenig mit dem auslesen des Memory in C++.
Hab mir da auch schon ne DLL gebastelt und injected... usw.
Nun habe ich ein Problem:
Ich möchte gerne den Namen meines Charakters auslesen.
Mit Cheatengine klappt das ja wunderbar und wird auch richtig angezeigt, nur wenn ich mittels der DLL versuche aus der Addresse meinen Namen auszulesen bekomm ich immer nur 1 Zeichen und das stimmt nicht einmal mit dem 1. Buchstaben meines Namens überein.
Hier...