Trainer ersetzbar?!

01/02/2011 07:03 [GM]Isall09#1
Huhu Leute,

ich habe da so eine kleine Teorie, vielleicht ist schon jemand vorher drauf gekommen und es nicht umsetzbar.

Die Trainer "hacken" LC nicht wircklich, sondern einfach nur Klassenspezifische Geschwindigkeit, Range, etc. die in den Dateien im LC Ordner auf dem PC gespeichert sind.

Teorie: Wäre es nicht teoretisch eben diese Angaben im Ordner komplett durch die eigenen zu ersetzen? Dann würde auch kein X-Trap mehr stören, es würden keine Probleme mit dem Trainer auftreten, da diese nicht überall klappen, das Problem mit den Offsets wäre geklärt (?) und man müsste nicht jedesmal erst den Trainer starten.

Praxis: Ist das überhaupt umsetzbar? Sind eben diese Dateien auffindbar und kann man die auch durch eigene ersetzen? Prüft der Server eigentlich erst ob der LC Ordner korrekt ist? Stimmt es das die Offsets dann nicht mehr gesucht werden müssten?

Fragen über fragen, vielleicht weis einer ja eine Antwort drauf oder hat eigene Spekulationen die er posten möchte.

(<- Jetzt schlafen, kommt grade von der Arbeit -.-^^)

Greetz Lara
01/02/2011 07:17 DrBong#2
meine meinung: nicht umsetzbar da alles im maschinencode(binärcode)
man kann zwar nen injektor schreiben der die funktionen ändert/ersetzt aber bei variablen geht es GLAUB ich nur durch den speicher, und bei einem injektor würde es sich wieder mal um ein programm handeln
01/02/2011 08:22 CrazyBox#3
Das ist 100% möglich! Allerdings wird es nicht ganz einfach. Es kommt sehr darauf an wie diese Daten hinterlegt sind. Eventuell musst du keine Offsets mehr suchen, oder du musst noch komplizierter zu findende suchen, da sich die Dateien in denen sich diese Werte befinden kontinuierlich verändern um neue Daten des Spiels aufzufassen. Ein anderes Problem ist, auch dass X-Trap, so weit ich weiß, einen Sicherheitscode an die Server schickt, der sowohl aus seinem Code als auch dem des Spiels erstellt wird. Wenn X-Trap nun auf spezifische Daten zugreift welche wir verändert haben, dann geht es auch schief.

MfG und Frohes Neues
CrazyBox
01/02/2011 08:32 copycater#4
Meine idee:
ein eigenes Fake-XTrap erstellen der nichts kontrolliert, aber der die gleichen Dateien wie ein echtes XTrap an den Server schickt, damit der glaubt dass man nichts falsches macht :D
01/02/2011 09:23 dsfgd#5
Quote:
Originally Posted by DrBong View Post
meine meinung: nicht umsetzbar da alles im maschinencode(binärcode)
man kann zwar nen injektor schreiben der die funktionen ändert/ersetzt aber bei variablen geht es GLAUB ich nur durch den speicher, und bei einem injektor würde es sich wieder mal um ein programm handeln
Laber keinen mist, wenn du keine Ahnung hast, Variablen sind genauso wie Funktionen im Speicher hinterlegt, ausserdem ändert ein Injector keine Funktionen, sondern er injectet eine DLL an einen Freien speicherplatz im Usermode Ram und hängt diese an den Prozess an, er fügt somit neue Funktionen hinzu.

Natürlich kann man das, alle benötigten Werte/Addressen stehen in nksp.exe und engine.dll, man kann diese per Cheat Engine/OllyDBG auch direkt finden, genauso wie die Variablen, allerdings gibt es ein paar Probleme

- alle Änderungen an der nksp.exe merkt X-trap sofort, da er die Checksum der Code Section überprüft
- alle Addressen müssen bei jedem Update der Engine.dll erneut gefunden werden (keine Base Offsets möglich)
- es muss ein externes Tool gemacht werden damit man einstellungen vornehmen kann
- nur User die Maschienencode lesen&verstehen können (z.b. ich) können soetwas aktuell halten

Alleine der 2. Punkt ist der grund, warum man soetwas nicht macht, es sei den es handelt sich um ein Offline Spiel oder das Spiel wird selten/gar nicht geupdatet.

Das einzige was man extern lösen kann, ist ein kleiner RangeHack, undzwar SkillRange, diese ist für jeden Skill extra in der skills_ger.bin, alles andere ist in der Engine.dll festgelegt.

Die einfachste Lösung ist nunmal der Trainer.
01/02/2011 12:43 [GM]Isall09#6
Ok, danke für die Antwortet.

Faziz: Nicht bzw. komplizierter umsetzbar als ein Trainer.

Kann geschloßen werden.
01/02/2011 12:51 huberhans#7
Quote:
Originally Posted by dsfgd View Post
Das einzige was man extern lösen kann, ist ein kleiner RangeHack, undzwar SkillRange, diese ist für jeden Skill extra in der skills_ger.bin, alles andere ist in der Engine.dll festgelegt.
Das klingt doch schonmal sehr interessant! Kann man diese Datei irgendwie öffnen, damit was verständliches dabei rauskommt?
01/02/2011 16:53 KDeluxe#8
Mit einem Hex Editor. Einfach nach deinem Skill suchen (ASCII) und die Reichweite erhöhen.