Wo ist der Quellcode bei C&C online? Wie JS verstecken?
Hallo CB Gemeinde.
Meine Frage hat nur indirekt etwas mit Programmierung zu tun, aber wüsste auch nicht wo ich sie sonst stellen soll.
Habe gerade die News gelesen das C&C nun als online Version zur Verfügung steht und als langwieriger Fan der Serie und stets neugieriger Entwickler dachte ich mir das dies doch mal eine super Möglichkeit wäre sich ein wenig von der Mechanik abzuschauen. Es ist ein reines Browserspiel und basiert auf HTML 5, das gesamte Spiel wird auf einem canvas Objekt gezeichnet, deshalb mutmaße ich mal das es zum großen Teil auf JavaScript basieren sollte.
Ich finde nur leider keinerlei Programm Logik in den Skripten die, die Seite lädt. Im Debugger sehe ich das regelmäßig mit dem EA Server kommuniziert wird, kann mir auch den call stack das XHR Objekts anzeigen lassen, aber nicht wie gewohnt von der Konsole in den Code springen! Ich sehe auch nicht aus welcher Datei und in welcher Zeile der Request gestartet wurde, nur eine lange Auflistung von Klasse und Methoden, eben den Call Stack.
Das war schon mal komisch.
Dann dachte ich dass ich eben den umgekehrten Weg gehe und habe mir mit dem DOM Inspektor mal ein paar Elemente angeschaut und überprüft was für EventHandler auf diesen Objekten registriert sind. Sind wirklich verdammt viele. Doch auch hier finde ich nur ein sehr merkwürdiges Verhalten vor, welches von dem abweicht was ich gewohnt bin.
Ich sehe das alle - zumindest alle die ich mir angeschaut habe - in der Datei undefined in der Zeile 70.000 irgendwas stehen. Klicke ich dann auf die Datei um zum Quellcode zu kommen gelange ich aber nur zur Ressourcen Ansicht, welche komischerweise auch bis auf den Hauptframe gar keine Elemente enthält außer eine kleine Datei im local storage.
(Einigen wird wohl aufgefallen sein das ich den Chrome debugger nutze)
Die einzigen JS Dateien die ich sehe sind welche um den rechtsklick zu unterbinden oder Media Dateien zu laden, wenn kein local Storage zur Verfügung steht.
Jetzt meine Frage: Wie machen die das??
Die können das ja wohl unmöglich alles vom Server berechnen lassen?
Ein Blick in die Request hat mir gezeigt das dies aber wohl doch der Fall ist, leider kommen die Daten zwar im Klartext und im JSON Format rüber, sind ohne Erklärung nicht zu verstehen und ich kann einfach nichts finden wer dieses reuest rausschickt und wo es verarbeitet wird.
Als Initiator steht immer nur "other", das macht mich wahnsinnig. Ich werde keine ruhe mehr finden bis ich das Rätsel gelöst habe!
Die reuqests gehen in meinem Fall immer an https://prodgame08.alliances.commandandconquer.com/26/Presentation/Service.svc/ajaxEndpoint
Was mich auch sehr stutzig macht das unzählige JS Dateien geladen werden deren Aufgabe ich nicht zu deuten vermag, aber ständig taucht dort das Wort "Chrome" auf
Vlt. kennt ja einer den Weg dorthin, ansonsten hoffe ich auf eine rege Diskussion
Hallo CB Gemeinde.
Meine Frage hat nur indirekt etwas mit Programmierung zu tun, aber wüsste auch nicht wo ich sie sonst stellen soll.
Habe gerade die News gelesen das C&C nun als online Version zur Verfügung steht und als langwieriger Fan der Serie und stets neugieriger Entwickler dachte ich mir das dies doch mal eine super Möglichkeit wäre sich ein wenig von der Mechanik abzuschauen. Es ist ein reines Browserspiel und basiert auf HTML 5, das gesamte Spiel wird auf einem canvas Objekt gezeichnet, deshalb mutmaße ich mal das es zum großen Teil auf JavaScript basieren sollte.
Ich finde nur leider keinerlei Programm Logik in den Skripten die, die Seite lädt. Im Debugger sehe ich das regelmäßig mit dem EA Server kommuniziert wird, kann mir auch den call stack das XHR Objekts anzeigen lassen, aber nicht wie gewohnt von der Konsole in den Code springen! Ich sehe auch nicht aus welcher Datei und in welcher Zeile der Request gestartet wurde, nur eine lange Auflistung von Klasse und Methoden, eben den Call Stack.
Das war schon mal komisch.
Dann dachte ich dass ich eben den umgekehrten Weg gehe und habe mir mit dem DOM Inspektor mal ein paar Elemente angeschaut und überprüft was für EventHandler auf diesen Objekten registriert sind. Sind wirklich verdammt viele. Doch auch hier finde ich nur ein sehr merkwürdiges Verhalten vor, welches von dem abweicht was ich gewohnt bin.
Ich sehe das alle - zumindest alle die ich mir angeschaut habe - in der Datei undefined in der Zeile 70.000 irgendwas stehen. Klicke ich dann auf die Datei um zum Quellcode zu kommen gelange ich aber nur zur Ressourcen Ansicht, welche komischerweise auch bis auf den Hauptframe gar keine Elemente enthält außer eine kleine Datei im local storage.
(Einigen wird wohl aufgefallen sein das ich den Chrome debugger nutze)
Die einzigen JS Dateien die ich sehe sind welche um den rechtsklick zu unterbinden oder Media Dateien zu laden, wenn kein local Storage zur Verfügung steht.
Jetzt meine Frage: Wie machen die das??
Die können das ja wohl unmöglich alles vom Server berechnen lassen?
Ein Blick in die Request hat mir gezeigt das dies aber wohl doch der Fall ist, leider kommen die Daten zwar im Klartext und im JSON Format rüber, sind ohne Erklärung nicht zu verstehen und ich kann einfach nichts finden wer dieses reuest rausschickt und wo es verarbeitet wird.
Als Initiator steht immer nur "other", das macht mich wahnsinnig. Ich werde keine ruhe mehr finden bis ich das Rätsel gelöst habe!
Die reuqests gehen in meinem Fall immer an https://prodgame08.alliances.commandandconquer.com/26/Presentation/Service.svc/ajaxEndpoint
Was mich auch sehr stutzig macht das unzählige JS Dateien geladen werden deren Aufgabe ich nicht zu deuten vermag, aber ständig taucht dort das Wort "Chrome" auf
Vlt. kennt ja einer den Weg dorthin, ansonsten hoffe ich auf eine rege Diskussion

Zuletzt bearbeitet: