Frage von erik0223, 115

Von Spielen quellcode anzeigen lassen?

Kann man sich von Spielen den quellcode anzeigen lassen (Windows 10) um zum Beispiel Modifikationen zu Programmieren. Wenn ich jetzt zum Beispiel clash of Clans habe ,habe ich ein Video gesehen wo jemand einfach ein paar zahlen ausgetauscht hatt um dann viele gems zu kriegen. Geht das ?

Antwort
von Stunter, 88

Das kommt ganz darauf an, in welcher Sprache das Spiel geschrieben ist, und wie es programmiert wurde.

Wenn es in Java programmiert und als .jar veröffentlicht wurde, kannst du den originalen Code leicht wiederherstellen. In Sprachen wie C oder C++ ist das etwas schwerer.
Es gibt da zwar gute Decompiler (z.B. IDA Pro), diese kosten aber eine gute Stange Geld und sind auch nicht 100% zuverässig.

Was ich vermute, dass du gesehen hast ist, dass derjenige einfach die Werte in bestimmten Variablen ausgetauscht hat, das hat ihm dann extra Punkte o.ä. gebracht.

 ~ Stunter

Kommentar von erik0223 ,

ok danke

Kommentar von erik0223 ,

ist clahs of Clans in Java? Wenn ja ,mit welchen Programm kann man sich dann den Quellcode ansehen, geht das auch auf dem Android Handy?

Kommentar von Stunter ,

Wenn du die Android-Version meinst: Ja, die ist in Java programmiert. Es gibt sogar Online Java-Decompiler, da musst du dann einfach die App hochladen und du bekommst den Code.

Kommentar von erik0223 ,

ok

Kommentar von FazimoV ,

hast du zufällig nen yt kanal stunter?

Kommentar von Stunter ,

Ja, aber der ist recht inaktiv. Warum?

Kommentar von TeeTier ,

IDA gibt es in den Vorversionen kostenlos auf der Herstellerwebsite. Zum Üben reicht das erstmal. :)

Kommentar von Stunter ,

Klar, zum üben reicht das. Aber wenn er komplexere Mods erstellen will, wird er wohl oder übel etwas Geld ausgeben müssen.

Expertenantwort
von TeeTier, Community-Experte für programmieren, 50

Naja, praktisch kannst du jede Software reversen. Deshalb ein klares JA.

Dabei erhältst du in den aller meisten Fällen zwar nicht den Originalquellcode, aber das ist meistens auch gar nicht nötig, da man mit einem Disassemblat oder einem Dekompilat sowieso alles beliebig umprogrammieren kann.

Allerdings ist das je nach verwendeter Programmiersprache und Plattform äußerst kompliziert und mit Sicherheit nichts für Einsteiger. Reverse Engineering ist eine Königsdisziplin, für die man auf vielen über Gebieten tiefer gehende Erfahrung verfügen sollte.

Allerdings ist das Ändern eines Spielstands keine große Sache, und geht sogar oft völlig ohne Debugger einfach mit einem Hexeditor.

Wie in einer anderen Antwort schon erwähnt, schützen sich viele Spielehersteller davor, indem Spielstände auf einem Server gespeichert werden, den man nicht so ohne Weiteres manipulieren kann.

Aber im Grunde genommen, muss man deine Antwort bejahen. Es ist erst mal grundsätzlich möglich. Wie gesagt, für kleine Änderungen genügt ein Hexeditor, für größere tut es zur Not auch ein simpler Debugger wie gdb oder windbg. Professionellere Reverser benutzen auch oft IDA, den Olly oder Vergleichbares.

Für Java und DotNet gibt es wieder spezielle andere Disassembler bzw. Dekompiler. Im Vergleich zu nativ kompilierten Programmen, sind Programme dafür sogar verhältnismäßig leicht zu reversen. Deshalb sind C#-Programme, Java-Programme die als JAR vorliegen, und auch Android-Apps verhältnismäßig einfach zu manipulieren.

So etwas ist nach deutschem Recht sogar ausdrücklich erlaubt, aber die Verbreitung von manipulierter Software als "Cracks" ist verboten. Man darf also nur für sich selbst, bzw. für seine Firma reversen, ohne das Ergebnis zu veröffentlichen. So etwas ist oft nötig, um Closed-Source zu überprüfen, Schnittstellen anzupassen oder einfach Malware zu untersuchen.

Schönen Tag noch! ;)

Kommentar von erik0223 ,

ok danke

Kommentar von 55555555555555 ,

Spielstände die auf Servern gespeichert sind: FIDDLER =D 

Antwort
von FelixCrafting, 57

Kommt auf die Programmiersprache an. Bei Java (wie bei allen Androit Apps und Minecraft) gibt es verschiedene Decompliner, die den Quellcode sichtbar machen.
(Solche Decomplier gibt es auch für andere Programmiersprachen)

Kommentar von Stunter ,

Bei Java ist das aber auch noch ziemlich einfach. Schwer wird es bei kompexeren Sprachen, wie C oder C++. Es gibt da zwar hochkomplexe Decompiler (z.B. IDA Pro), die sind aber ziemlich teuer.

Kommentar von erik0223 ,

wie heißt so ein Programm ?

Kommentar von erik0223 ,

für Java

Kommentar von FelixCrafting ,

google mal java decompliner

Kommentar von 55555555555555 ,

JAR Dateien können einfach mit 7zip entpackt werden...

Kommentar von FelixCrafting ,

dann kannst du trotzdem den cide nicht lesen (da er compiliert ist).

Antwort
von Lusorio, 42

Nein das geht nicht und zwar weil diese Zahlen auch auf dem Server von CoC gespeichert sind. Beim starten des Spiels werden die abgeglichen...

Kommentar von erik0223 ,

achso

Keine passende Antwort gefunden?

Fragen Sie die Community