Spiele Hack in Java ?

FreakNerd

Mitglied
Hallo liebe community =D
ich habe schon davon gehört dass Trainer etc. eigentlich mit C, C++, delphie , Vb.net oder C#
geschrieben werden allerdings wollt ich mal wissen ob es überhaubt möglich ist auch in
Java einen Spiele trainer zu programmieren ?
und fals ja , ob es überhaubt für einen anfänger wie mich möglich währe ?
~mfg Freaknerd
 
und fals ja , ob es überhaubt für einen anfänger wie mich möglich währe ?
Ich fürchte das wird nichts. Es gibt eine ganze Menge Infos, die man mit einer einfachen Googlesuche finden kann.
Ist nicht böse gemeint, aber wenn jemand die Suchmaschinen nicht nutzen und wenigstens die Standardinfos bekommen kann,
dann packt er die Aufgabe, mit der er sich beschäftigt meist nicht.
Ist aber nur so ein Erfahrungswert. Vielleicht wirds ja doch was. Mach Dich mal schlau zu den Begriffen "Java memory editor".
 
Ich fürchte das wird nichts. Es gibt eine ganze Menge Infos, die man mit einer einfachen Googlesuche finden kann.
Ist nicht böse gemeint, aber wenn jemand die Suchmaschinen nicht nutzen und wenigstens die Standardinfos bekommen kann,
dann packt er die Aufgabe, mit der er sich beschäftigt meist nicht.
Ist aber nur so ein Erfahrungswert. Vielleicht wirds ja doch was. Mach Dich mal schlau zu den Begriffen "Java memory editor".

erm trotz der art wie du das ausgedrückt hast
danke =D
 
Hacks verändern während der Laufzeit des Spiels dessen Daten.
Mit Java ist das nicht möglich, da Java keinen Zugriff auf den Arbeitsspeicher hat.
 
Richtig. Um bei einem Spiel zu "Hacken" friert man gewisse Speicheradressen ein. zB Für einen Shooter einen Unlimited Ammo hack. Der Punkt ist , dass du die Speicheradressen des Spiels zu dessen Laufzeit verändern musst. Und genau das geht mit Java nicht da Java nicht im Arbeitsspeicher von andren Programmen rumspielen kann.

!! MIT DEM FOLGENDEN TEXT MÖCHTE ICH NICHT ZUM HACKEN ANREGEN SONDERN DIE TECHNISCHE SEITEN DES HACKENS BESCHREIBEN !!


Die normale Vorgehensweise wäre :

1) Mühsam per WPE oder Cheat Engine ( oder vergleichbares ) die Speicheradresse ermitteln. ( Nach dem ausschlussverfahren 😛 )
2) Die Speicheradresse Manipulieren.
3) ein Programm schreiben dass die Speicheradresse einfriert.

Es ist sogar möglich Sachen zu manipulieren die normalerweise Server-Sided sind. zB Goldeinkommen bei einem MMORPG. Man Benutzt hierbei WPE ( Windows Packet Editor ) und fängt die Pakete ab , die vom Programm zum Server geschickt werden und Manipuliert diese. So kann man dann auch zB Items verdoppeln.
 
Geht natürlich nur wenn das MMo scheisse programiert ist. Gut programmierte systeme haben die logic komplett auffem Server und du bekommst nur Daten fürs Rendern und fürs hud, da kannste dann maximal dein eigenes Hud belügen. Mal abgesehen davon das die Spiele evtl nen Adressen Randomizer drinnen haben, sprich die Adresse jedesmal eine andere ist.
 
Geht natürlich nur wenn das MMo scheisse programiert ist. Gut programmierte systeme haben die logic komplett auffem Server und du bekommst nur Daten fürs Rendern und fürs hud, da kannste dann maximal dein eigenes Hud belügen. Mal abgesehen davon das die Spiele evtl nen Adressen Randomizer drinnen haben, sprich die Adresse jedesmal eine andere ist.

So sollte es sein, trotzdem kann man auch dort hin und wieder Bugs nutzen 😉
 
Cool mal zu erfahren wie so etwas funktioniert.
Doch wie funktioniert das z.B bei Minecraft ?
Ist doch auch Java basiert.. und mit der App Inside Job z.B kann man sich auch Ressourcen cheaten..
 
Bei Minecraft kanst du genauso mit z.B. cheatEngine arbeiten.
Bei Interesse:

1. Cheatengine o.ä. laden und starten 😉
2. Minecraft starten.
3. Items ermitteln von dem man mehr als 3 hat (mehr sind besser).
4. In cheatengine o.ä. nach dem Wert (der Anzahl suchen).
5. In Minecraft ein oder mehrere Items aus dem Slot entfernen/hinzufügen.
6. In den alten Werten in cheatEngine (kp wie das bei anderen Programmen ist, aber wahrscheinlich ähnlich) weiter suchen (also keine neue Suche starten). Diesmal nach der neuen Anzahl.
7. Punkt 5 und 6 solange wiederholen bis nur noch ein Ergebniss angezeigt wird. Wenn keins angezeigt wird, gehe zu Punkt 3 ^^
8. Entweder den Wert und damit die Anzahl der Items im Spiel direkt ändern/freezen oder ein paar bytes weiter die ItemId ändern.

Weitere Infos dazu in dem MinecraftWiki 😉

Pi mal Daumen so funktioniert das bei den meisten Spielen.
Wie du dir denken kannst ist das ganze ein wenig nervig ^^
Wenn die Speicheradressen gleich bleiben kannst du, wie hier schon geschrieben wurde, das ganze in Programmform gegossen als Trainer machen, ansonsten muss man tricksen.

edit: Sollte natürlich nur im Singleplayer Modus gemacht werden.
Ich persönlich habe mir da immer massen an Dynamit mit erstellt und habe mich an den riesen Explosionen erfreut XD
 
Zuletzt bearbeitet:
Minecraft sit minimal schweieriger, weil es ne heap hat, und dank garbagecollector nicht alles deterministisch jedesmal anner selben stelle liegen muss, so geshen muss man bei jedem start das neu finden.
 
Für den Minecraft Singelplayer kann man sich übrigens einfach das Addon "Too Many Items" installieren dann kann man in der Inventaransicht einfach per Drag&Drop jedes Beliebige Item als 64ger Stack in die Tasche tun 🙂 ( Funkt nur im Singelplayer. Im Multiplayer braucht ihr OP Rechte )
 
Hacks verändern während der Laufzeit des Spiels dessen Daten.
Mit Java ist das nicht möglich, da Java keinen Zugriff auf den Arbeitsspeicher hat.
Das ist Quatsch. Java kann sich genauso des Arbeitsspeichers bedienen, wie jedes andere Programm auch: Über die OS-API.
Bei Windows z.B. wäre das Vorgehen dieses: (Ich empfehle hier JNA, um die API zu kapseln)
1) Prozess-Window-Id mittels FindWindow() holen,
2) Thread-ID miitels GetWindowThreadProcessId() holen,
3) Prozess öffnen (OpenProcess()),
4) Speicher lesen (ReadProcessMemory()),

Die kleinen, wichtigen Details, damit es funzt, wie z.B. Speicherseitenkontrolle und Zugriffskontrolle habe ich weggelassen, damit man keinen Hacking Guide draus macht.
 
Du rufst damit binäre Funktionen auf, die in Maschinensprache in einer DLL vorliegen (Windows-Variante), ob diese vorher von Microsoft mit C++ oder Brain**** geschrieben wurden, ist nicht relevant.

Und das Cracking sollte man in der Sprache machen, womit man die meiste Erfahrung hat, oder wo Beispiele/Quellcode vorliegen.
 
Um mal wieder aufs Topic zu kommen

NEIN , ist es nicht.

Du kannst wie bereits mehrfach erwähnt von Java aus nicht einfach im Speicher fremder Programme rumbasteln. Und auch wenn Minecraft in Java geschrieben ist heißt das nicht das du es mit Java "cracken" kannst. Da Java genau so als eigenständiger Prozess läuft und du mit starten eines Crack-Programms einen neuen startest ist Minecraft für deine Java App ebenfalls ein solch fremder Prozess.
 
NEIN , ist es nicht.

Du kannst wie bereits mehrfach erwähnt von Java aus nicht einfach im Speicher fremder Programme rumbasteln. Und auch wenn Minecraft in Java geschrieben ist heißt das nicht das du es mit Java "cracken" kannst. Da Java genau so als eigenständiger Prozess läuft und du mit starten eines Crack-Programms einen neuen startest ist Minecraft für deine Java App ebenfalls ein solch fremder Prozess.
Es geht sehr wohl, hast Du meinen Beitrag nicht gelesen? Du bittest das Betriebssystem um Zugriff auf diesen fremden Speicher und schon gehts.
 

Zurück
Oben