# Spiele Hack in Java ?



## FreakNerd (7. Jun 2011)

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


----------



## muckelzwerg (7. Jun 2011)

FreakNerd hat gesagt.:


> 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".


----------



## FreakNerd (7. Jun 2011)

muckelzwerg hat gesagt.:


> 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


----------



## Lord Louis (7. Jun 2011)

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.


----------



## Nicer (8. Jun 2011)

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.


----------



## Empire Phoenix (8. Jun 2011)

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.


----------



## Noctarius (8. Jun 2011)

Empire Phoenix hat gesagt.:


> 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


----------



## Nicer (9. Jun 2011)

Noctarius hat gesagt.:


> So sollte es sein, trotzdem kann man auch dort hin und wieder Bugs nutzen




Und genau das wird leider viel zu oft gemacht ! Also Leute : FINGER WEG VON CHEATS / HACKS IN ONLINE GAMES ! Was ihr im Singleplayer macht ist mir schnuppe =].

PS : Statistisch gesehen ist jedes 2,4te Hackprogramm mit einem Virus verseucht.


----------



## MinecraftPlayer (9. Jun 2011)

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..


----------



## Nicer (11. Jun 2011)

MinecraftPlayer hat gesagt.:


> 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 ist da sogar Online Machbar, wird allerdings mit einem sofortigen Permbann geahndet.


----------



## SleepProgger (11. Jun 2011)

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


----------



## Jango (11. Jun 2011)

Nicht mal einen Satz zusammenhängend richtig schreiben können - aber Spiele hacken. Die Zukunft sieht dunkel aus.


----------



## Empire Phoenix (11. Jun 2011)

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.


----------



## Nicer (13. Jun 2011)

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 )


----------



## thewulf00 (22. Jun 2011)

Lord Louis hat gesagt.:


> 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.


----------



## ARadauer (22. Jun 2011)

> Das ist Quatsch.


naja im grunde ruf ich damit aus java nur c funktionen auf. Also das ganze "hacking" und "cracking" wie ihr es nennt, mach ich in c oder c++


----------



## thewulf00 (22. Jun 2011)

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.


----------



## despikeexd (23. Jun 2011)

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.


----------



## thewulf00 (23. Jun 2011)

despikeexd hat gesagt.:


> 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.


----------

