Frage von manu435, 318

Wie werden diese Minecraft Hacks geschrieben?

Welche Computersprache nutzen die? Hatte an C++ gedacht. Stimmt das oder nutzen die so ein dreck Microsoft Visual Basic?

Hilfreichste Antwort - ausgezeichnet vom Fragesteller
von androhecker, 214

Java natürlich, MC ist in Java geschrieben.

Kommentar von manu435 ,

Hä das spielt keine Rolle

Kommentar von androhecker ,

Doch spielt es, da der Code von MC verändert wird, das geht nur in Java oder einer Sprache die über Java steht.

Kommentar von AntiBan ,

Dummkopf du hast die diskussion wohl
Immer noch nicht verinnerlicht...

Kommentar von androhecker ,

Ach ja? Ich bin mir Todsicher dass er die Hacks meint die in Java geschrieben sind. Und übrigens: Alle Beiträge hier habe ich DAVOR geschrieben.

Antwort
von xWhiteTiger, 134

Die Cods/BasePointer werden mit Memory Reader Programmen herausgesucht und dementsprechen verändert. Der veränderte Code wird dann mithilfe von meisten C++ in ein Ausführbares Programm (Trainer/Tools) eingefügt oder erstellt. Mir ist nicht bekannt das noch andere Programme verwendet werden.

;) lg

Kommentar von androhecker ,

Minecraft Hacks sind ausschließlich in Java

Kommentar von manu435 ,

Danke nur wie will man einen Aimbot mit Memory readern erschaffen?!

Kommentar von xWhiteTiger ,

Aimbots kann man auch mithilfe von Float-Cods erstellen, ganu so wie Fly und movement Hacks. Das geht dann auch mit den Memory Readern.

Kommentar von androhecker ,

Sag mal was soll der Schwachsinn? MC ist in Java geschrieben, wer versucht die JVM mit Memory Readern zu hacken muss echt hart drauf sein, die ist weitaus komplexer als jedes Computerspiel und wird selbst bei einer kleinen Veränderung schnell Abstürzen, es gibt Zugriff auf den Source Code von MC und dadurch kann man einfach MC verändern und rekompilieren, ist viel einfacher. Memory Reader benutzt man ausschließlich bei C++ spielen (C nimmt niemand für Spiele)

Kommentar von xWhiteTiger ,

Memory Reader lesen die Bytes/Floats/Strings aus dem Prozessor (den Prozessor Caches), da ist es völlig irrelevant in welcher Programmiersprache das Programm geschrieben ist.

Kommentar von AntiBan ,

Das hängt von den eigenen Fähigkeiten ab. C nimmt man in der Tat eher selten da nimmt man eher C# weil es einfach einfacher ist. c++ ist aber halt mainstream. aber dir schreibt auch keiner vor welche sprache du zu verwenden hast

Kommentar von xWhiteTiger ,

C++ war in diesem Fall auch nur ein Beispiel, weil der Fragensteller nach C++ gefragt hat. Die Programmiersprache ist natürlich mehr oder weniger egal.

Kommentar von androhecker ,

Nein ist es nicht, nicht bei Interpreter Sprachen, Java ist mit Abstand die komplexeste Sprache (JVM) die es gibt und lässt sich leider nicht so einfach manipulieren, habe ich selber schon getestet, die stürzt direkt ab, da das ganze nicht so vorgesehen ist. Wer wirklich meint ein Spiel das man schon mehr oder weniger Open Source nennen kann mit einem Memory Reader hacken zu wollen, der muss echt gestört sein. Es gibt keinen einzigen MC Hack damit, weil es um Welten einfacher geht. Kannst einfach zB Forge nehmen und hast eine fertige API zum manipulieren.

Kommentar von AntiBan ,

komplex ist das falsche wort. langsam trifft es besser weil komplex ist nunmal zweideutig

Kommentar von androhecker ,

Oder hast du einen Hack gesehen den man mittels DLL injection oder sonstiges bei MC nutzt? Nein, weil das keiner machen, jeder Hack den es gibt wird als fertige MC Version angeboten die schon passend manipuliert ist, da war keiner so dumm und nutzt eine viel riskantere Methode, wie schon gesagt, das lohnt sich nur bei Spielen in Hardwarenahen Sprachen.

Kommentar von xWhiteTiger ,

Ok ich geb dir recht. Ich habe mit Minecraft noch keine erfahrung weil ich das Spiel selber nicht Spiele. Und auch mit Java Programmen habe ich noch nicht so wirklich in diese Richtung gearbeitet.

Kommentar von androhecker ,

Das gilt für alle Interpreter Sprachen, nur bei C/C++ etc braucht man diesen Umweg, kannst ja mal das MCCoderPack testen, da kannst du den MC Client dekompilieren, bekommst eine schöne JavaDoc dazu (Sozusagen Methodenbeschreibungen im Code lassen sich zu Websites machen) und dann kann man ganz einfach den Code verändern, später lässt sich das ganze dann mit dem CoderPack rekompilieren und man muss nur die Minecraft jar durch die neue Variante ersetzen.

Kommentar von xWhiteTiger ,

Ok danke für den Tipp :)

Kommentar von androhecker ,

Willst du mir sagen Java ist unkomplex und langsam? Die JVM ist so ziemlich das komplexeste Programm das es überhaupt gibt und ist um einiges schneller als alle anderen Interpreter Sprachen, klar ist C ca 3fach so schnell, aber wenn man bedenkt dass Java ca 50 mal schneller ist als Python ist das vollkommen OK, den Geschwindigkeitsunterschied wirst du bei Grafischen Programmen kaum merken, falls du das Problem mit MC meinst: MC ist so langsam weil die verwendete OpenGL Version von 2004 ist.

Kommentar von AntiBan ,

C ist sogar 20 mal so schnell :) und nein minecraft ist langsam weil es mit java geschrieben wurde (ohnehin sinnlos) und java ist langsam weil array zugriffe langsamer sind als sonst wo, java generell viel mehr ressourcen frisst, string operationen langsam sind. bitkompression und dekompression sind auch sehr langsam.

Kommentar von androhecker ,

Laut den öffentlichen Tests auf GitHub sind das garantiert keine 20 mal mehr, und oben hattest du noch keine Ahnung von MC und behauptest jetzt es wäre wegen Java langsam? Sorry aber einige Leute haben die Engine in Java neu gecodet und diese sind deutlich schneller. Wenn du meinst Java wäre langsam dann schau dir mal PHP an, oder Python oder sonst was, da bekommst du vor Langsamkeit schon Augenkrebs, Java ist nicht um sonst "the number one".

Kommentar von amdphenomiix6 ,

Array-Zugriffe sind langsam??? Man, man... so langsam. Array-Zugriffe sind so ziemlich die schnellstmöglichen, da direkt die Speicheradresse bekannt ist und somit direkt angesprochen werden kann. Deswegen sind solche Überläufe auch so gefährlich!

Kommentar von AntiBan ,

nicht generell langsam aber bei java sind sie gerade wegen den überlaufkontrollen langsam

Kommentar von AntiBan ,

python ist für seine anwendungsberreiche schnell genug außerdem sind libs wie numeric oder numarray in c geschrieben wodurch sie viel sympatischer mir gegenüber sind

Kommentar von amdphenomiix6 ,

Ja, das mit den Überlaufkontrollen hast du nicht gesagt, jedoch sind Arrays mit die schnellste Datenstruktur ;) Jedoch bezweifle ich, dass hier einer so rechenlastige Algorithmen entwickelt, sodass es auf die paar Millisekunden Verlust ankommt ;)

Kommentar von androhecker ,

"Für seine Anwendungsbereiche" die sind vor allem Dinge wie Web Framworks und GUI Programme, da ist Python leider zu langsam für, Java ist auch nicht zu langsam für Computerspiele wie Minecraft, bloß die Entwickler waren ziemlich dumm, das ganze Spiel läuft nur in einem Core und der verwendete Code ist unglaublich mies, da kommen sogar manchmal tote Threads zustande.

Kommentar von amdphenomiix6 ,

Du weisst aber schon, dass Java sehr bequemes Parallelisieren ermöglicht? Hast du überhaupt Ahnung wie ein Deadlock entsteht und welche Vorkehrungen alles vermieden werden müssen, damit eben dieser verhindert werden kann? Du kannst nicht eben mal ein paar 10.000 Zeilen Code komplett symmetrisch auf 4 oder 6 Kernen laufen lassen.

Kommentar von androhecker ,

Es geht hier auch nicht um die komplette Symmetrie, es geht darum dass selbst der Socket im gleichen Thread abläuft obwohl es deutlich effizienter wäre wenn der Socket in seinem eigenen Thread auf Pakete wartet und diese dann automatisch in einem neuen ausgeführt werden, dadurch können auch deutlich mehr Pakete in kurzer Zeit durch genommen werden, denn bei spätestens 1000 Blockchangeevents gibt der Client den Geist auf weil er nicht mehr hinterher kommt. Und selbst Optifine bietet halbwegs vernünftigen Multicore Support an.

Keine passende Antwort gefunden?

Fragen Sie die Community