Pointer Tutorial

09/10/2014 13:44 .serialize()#1
// Removed
09/10/2014 13:47 EEOI#2
Hat mit lc nichts zu tun und jeder der Hallo world programmieren kann weiss auch meistens was ein pointer ist.
09/10/2014 14:02 .serialize()#3
Quote:
Originally Posted by Trobhy View Post
Hat mit lc nichts zu tun und jeder der Hallo world programmieren kann weiss auch meistens was ein pointer ist.
Hacks, Bots und Trainer werden mit Pointern/Offsets gemacht, korrekt?
Und Nein, da stimme ich dir nicht zu! Viele Leute wissen nicht was Pointer sind...

#Moverequest
[damit alle zufrieden sind]
09/10/2014 15:19 -STORM-#4
Pointer sind fürs Gamehacking natürlich sehr wichtig. Dabei wäre als Erklärung aber eher ein Beispiel geeignet, wie man in LC die Adresse zu einem bestimmten Wert sucht und dazu dann den Pointer findet, und wie man sich diesen Pointer vorstellen kann.
Dein Tutorial basiert halt eher auf der Syntax von C++ und den meisten, die einfach nur mit Cheat Engine ein paar Pointer finden wollen und nicht direkt einen eigenen Trainer programmieren, wird das wohl nicht sehr helfen

Ich hätte da eher eine Art Pseudo-ASM genommen, wie es auch in CE neben den Offsets angezeigt wird.
Also [] bezeichnet immer den Wert, der in der Adresse zwischen den Klammern steht, z.B.
[[[[_pNetwork] + 0x1C] + 0x10] + 0x4] + 0xDE4] = RunSpeed

Außerdem fehlt eine Erklärung, wozu die Pointer und Offsets überhaupt verwendet werden. Einen Speicherwert verändern kann man auch, ohne erst den Pointer dazu zu finden, aber die Adresse ändert sich halt bei jedem Spielstart, wohingegen die Pointer mindestens bis zum nächsten Patch konstant bleiben.
Ein kurzer Hinweis zum hexadezimalen Zahlenystem wäre auch noch sinnvoll, da sicher nicht jedem klar ist, dass das im Prinzip nur Zahlen sind, mit denen man auch rechnen kann, obwohl Buchstaben darin vorkommen.

Dass jeder, der Hallo World programmieren kann, sowieso weiß, was Pointer sind, ist auch definitiv falsch. In den meisten verbreiteten modernen Sprachen ist das manuelle Behandeln von Pointern entweder gar nicht möglich (z.B. Java) oder zumindest nicht vorgesehen (z.B. in C#, wo es nur ausnahmsweise angewendet wird als sog. unsafe code) und nicht jeder Programmierer verwendet Sprachen wie C++, wobei diese natürlich auch ihre Daseinsberechtigung haben.
Vom Programmieren abgesehen, ist das Verständnis von Pointern für die meisten Leute, die CE benutzen wohl das Nr.1 Hindernis, zumindest was die Grundlagen anbelangt, bevor man irgendwas mit Code Injection, Structures usw. anfängt, die aber ohne Pointer sowieso nicht möglich wären.
09/10/2014 15:28 .serialize()#5
Da geb ich dir Recht Storm...
Nur es gibt zahlreiche Tutorials hier im Forum wie man Pointer findet und anwendet. Daher wollte ich nicht auch noch eins machen. Ich wollte eher eine kleine Erklärung machen, was überhaupt Pointer sind, damit die Leute auch wissen womit Sie arbeiten.
09/10/2014 18:08 ARAS!#6
wrong section... ausserdem sind zeiger nicht in jeder programmiersprache gleich. so wie du es geschrieben hast kann man es in c++ verwenden ausserdem wird ein pointer z.b.
int *pPointer = 10; z.b. definiert, wenn man die speicheradresse von pPointer ausgeben will würde man &pPointer benötigen
09/10/2014 19:55 .serialize()#7
Quote:
Originally Posted by ARAS! View Post
wrong section... ausserdem sind zeiger nicht in jeder programmiersprache gleich. so wie du es geschrieben hast kann man es in c++ verwenden ausserdem wird ein pointer z.b.
int *pPointer = 10; z.b. definiert, wenn man die speicheradresse von pPointer ausgeben will würde man &pPointer benötigen
Nein es passt in dieser Section... ich habe Yannikin gefragt