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 ?
4 Antworten
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
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?
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)
dann kannst du trotzdem den cide nicht lesen (da er compiliert ist).
JAR Dateien können einfach mit 7zip entpackt werden...
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.
Nein das geht nicht und zwar weil diese Zahlen auch auf dem Server von CoC gespeichert sind. Beim starten des Spiels werden die abgeglichen...
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! ;)
IDA gibt es in den Vorversionen kostenlos auf der Herstellerwebsite. Zum Üben reicht das erstmal. :)