Memory reading etc.

06/16/2008 08:55 Bl@ze!#1
-
06/16/2008 09:33 wadimwadim#2
Damit beschäftigen wir auch uns gerade, wie wir Algorithmen schreiben, die einen Charakter von X nach X alleine bringen können. DU kannst ja hier reinschauen
[GW.exe]Pointer/Value_Problem, da haben wir ein kleinen Algorithmus gepostet, der in Guild Wars die Positionen ausliest, und sich dann zum Kaufmann bewegt.
Das kannst du eingentlich mit den meisten Programmiersprachen dir zu nutzen machen, da AutoIt, auf automatisierung speziealisiert ist, ist es recht einfach damit. Gibs ein paar schöne include Dateien.

Gruß
wadimwadim
06/16/2008 09:35 verT!c4L#3
Um auf den Speicher zu zugreifen benutzt du am besten C, C++ oder C#.
Demnach->Programmiersprache lernen, Tutorials suchen die sich mit dem
gewünschten Themengebiet beschäftigen.

Dann brauchst du einen Disassembler-> OllyDbg oder IDA PRO.
Folglich brauchst du auch Plan von Assembler (auch ne Programmiersprache, low lvl bereich, low heißt in dem Falle, kompliziert, aber sehr mächtig).
06/16/2008 13:30 Term!nX#4
Quote:
Originally Posted by skypa View Post
Dann brauchst du einen Disassembler-> OllyDbg oder IDA PRO.
Folglich brauchst du auch Plan von Assembler (auch ne Programmiersprache, low lvl bereich, low heißt in dem Falle, kompliziert, aber sehr mächtig).
Sind ASM, C++, C# und Brainfuck nicht alle gleich mächtig? Sonst hätte ich den Begriff Mächtigkeit falsch verstanden und würde um Aufklärung bitten.

Zur Sprache, es ist relativ gleichgültig, ich habe zB Trainer sowohl in C++ als auch in C# geschrieben. Du kannst die dafür wichtigen Funktionen, soweit mein Kenntnisstand ist, in jede Sprache importieren, die uA auf der .Net-Plattform basieren.
06/16/2008 14:12 Adroxxx#5
Ja ich würd jetzt nicht unbedingt ASM mit C/C++ vermischen.
Die Hochsprachen C/C++, Java usw sind ansich alle gleich "mächtig" aber asm ist mächtiger xD ^^

Ich weiß auch gerad nicht wieso du C und asm vergleichst. Es geht einfach darum das du wenn du ein Programm debuggen willst einfach ASM verstehen musst. Und das gilt auch für Memory reading.
Nicht in jedem spiel kannst du so einfach vorgehen wie in den meisten Tutorials beschrieben. Darum ist es ein muss mindestens asm grundlagen zu verstehen.

Wenn du später den Bot programmierst ist es ansich egal welche sprache du nimmst, das stimmt schon.

btw: trainer werden grundsätzlich in asm geschrieben. ;)
06/16/2008 17:28 Term!nX#6
Kenn mich jetzt auch nicht mit der Wortwahl so aus, wenn Trainer in ASM geschrieben werden, wie heisst dann mein "Trainer", den ich in C# und C++ geschrieben habe?
06/16/2008 21:07 Adroxxx#7
Heißt dann wohl auch Trainer. Aber game trainer werden normalerweise nur in asm geschrieben. Wenn du dir auf gamescopyworld.com oder so trainer lädst von gruppen, die sind zu 90 % in asm.

Manche machen noch C++ Trainer mit DirectX Hook, damit du ingame ein menü hast. Aber die sind doch eher selten.
06/17/2008 09:49 verT!c4L#8
Quote:
Originally Posted by Adroxxx View Post
Die Hochsprachen C/C++, Java usw sind ansich alle gleich "mächtig" aber asm ist mächtiger xD ^^

ASM is halt direkt an der maschine sag ich mal.
Aber als Hochsprache bezeichnet man Sprachen wie Python und Ruby z.B.
...C / C++ aber nicht ;)

Und Trainer muss man nich zwangsläufig in ASM schreiben ^^
Das was geändert werden muss im Speicher wird dann halt als Op-Code ins Python Script samt wxPython GUI gepackt z.b.

Oder darein, oder hierein.. oder als Consolen Tool :D
06/17/2008 12:31 Adroxxx#9
Gut dann halt Höhere Programmiersprache :P
Ja klar theoretisch kann man trainer in jeder sprache schreiben. Auch in AutoIt. Aber ist trotzdem fakt, das der großteil der trainer in asm ist. Was teilweise auch mit der größe zusammenhängt.
06/17/2008 14:08 Bot_interesierter#10
Also direkt in Asm Programmieren muss man Heute eigentlich nicht mehr, da Sprachen wie C/C++ recht gut Laufzeit Optimiert sind und man den Compiler auch zwingen kann etwas so zu Compilieren wie man das möchte, trozdem ist es manchmal Sinnvoll Inline Asm zu verwenden, wenn man genau bestimmen möchte wie der Computer etwas machen soll, also für Architektur Spezifische Laufzeit Optimierung ist ASM recht nutzlich, aber die Portierung auf andere Architekturen wird erwschert, je mehr Asembler man verwendet.
Bei Trainern wird Asm wohl deshalb verwendet, weil zb Cheat Engine ASM Macros für Cheats benutzten kann und weil man Zwangsläufig sich mit Asm auseindander setzt wenn man ein Spiel Debugged :-)
06/17/2008 14:24 Adroxxx#11
Außerdem find ichs einfacher. Man arbeitet bei Trainern eh oft mit CodeCaves und anderen Techniken und dann kann man das auch eben in asm umsetzen. Ist auch nicht so viel Arbeit imo. Wenn man einmal so ein Template hat, kann mans auch für andere games einfach umändern. So hab ich das meistens gemacht.
06/18/2008 09:28 verT!c4L#12
Könntest ja mal sowas posten. Ich kenn mich in ASM zugegebenermaßen auch kaum aus :P