FX Engine

Anwendungen, Tools, Userlibs und anderes nützliches.
Benutzeravatar
Fluid Byte
Beiträge: 3110
Registriert: 27.09.2006 22:06
Wohnort: Berlin, Mitte

Beitrag von Fluid Byte »

Lol, abgefahren! Bild

Herzlichen Glückwunsch und viel Spass damit. Bild
Windows 10 Pro, 64-Bit / Outtakes | Derek
Benutzeravatar
X0r
Beiträge: 2770
Registriert: 15.03.2007 21:47
Kontaktdaten:

Beitrag von X0r »

Ja ich wünsche dir auch viel Spaß!

(Jetzt bitte zurück zum Thema)
Benutzeravatar
Thorium
Beiträge: 1722
Registriert: 12.06.2005 11:15
Wohnort: Germany
Kontaktdaten:

Beitrag von Thorium »

X0r hat geschrieben:Ja ich wünsche dir auch viel Spaß!

(Jetzt bitte zurück zum Thema)
Danke.

Habe das Testprogramm jetzt zum ersten mal gestartet und es crasht. Und zwar noch bevor das Archiv geöffnet wird. Bitte fixe das erst noch. Ansonsten konnte ich schon erkennen dass das Bild den Namen "sequoias.big.jpeg" trägt und das Passwort warscheinlich aus dem String "saksdadsadlas" ermittelt wird.

Aber was wirklich am unsichersten ist von allem, ist das alle Dateien auf die Platte extrahiert werden. Ist doch garkein Problem die sich dann wegzugrabben. Man muss ja lediglich das Programm im Richtigen Moment anhalten. (Was mit Debugger kein Problem ist.)
Zu mir kommen behinderte Delphine um mit mir zu schwimmen.

Wir fordern mehr Aufmerksamkeit für umfallende Reissäcke! Bild
Benutzeravatar
X0r
Beiträge: 2770
Registriert: 15.03.2007 21:47
Kontaktdaten:

Beitrag von X0r »

Ok, ich fix das noch heute(Kann momentan nicht). Bildname ist schonmal richtig, Passwort ist falsch.
Benutzeravatar
X0r
Beiträge: 2770
Registriert: 15.03.2007 21:47
Kontaktdaten:

Beitrag von X0r »

Ok. Habs mal schnell neugschrieben und (hoffentlich) etwas komplizierter für dich gemacht.

http://www.forgesoft.net/Stuff/Test.zip
Benutzeravatar
Thorium
Beiträge: 1722
Registriert: 12.06.2005 11:15
Wohnort: Germany
Kontaktdaten:

Beitrag von Thorium »

Done :mrgreen:

http://www.gametreasure.de/Temp/ig_tmp.bmp

Das Passwort des Archivs sollte uqw16253!$!?= )(SJASSHAS sein. Habs aber nich getestet, hab die Datei nicht selbst extrahiert. Das habe ich dein Programm übernehmen lassen.
Diesmal entpackst du alles ins Temp-Verzeichnis des Users. Und hantierst mit ner Menge Dateien rum. Hat mich ca. 20 Minuten gekostet. Wenn ich da jetzt wollte das eine andere Datei geladen wird würde das etwas länger dauern. Aber ich muss jetzt erstmal weg. Werde das die Woche nochmal probieren.
Zu mir kommen behinderte Delphine um mit mir zu schwimmen.

Wir fordern mehr Aufmerksamkeit für umfallende Reissäcke! Bild
Benutzeravatar
X0r
Beiträge: 2770
Registriert: 15.03.2007 21:47
Kontaktdaten:

Beitrag von X0r »

sh**. RESPEKT!
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

Thorium hat geschrieben:Naja bin ein wenig in die Cheaterscene rein um Anti-Cheating-Forschung am lebenden Objekt durchzuführen. ^^

Aber im Grunde ist es mir wurscht ob ich bekannt bin oder nicht. Ich hab einfach Spaß daran in fremdem Assembler-Code rumzustochern und wenn das jemandem nützt ist das prima. Ausserdem teile ich einfach gerne mein Wissen. ^^
:allright:
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
Thorium
Beiträge: 1722
Registriert: 12.06.2005 11:15
Wohnort: Germany
Kontaktdaten:

Beitrag von Thorium »

Also es gibt 2 sehr große Schwachstellen:

Einmal generell das es sich um eine DLL handelt, den es ist absolut kein Problem sich mit einer eigenen DLL zwischen das Programm und die "FX Engine.dll" zu klinken. Sowas nennt man eine Proxy-DLL. Sie hat genau die gleichen Prozeduren wie die Original-DLL und leitet die Aufrufe der Prozeduren an die Original-DLL weiter. So ist es kein Problem sich die Parameter wie z.b. Archivpasswörter ausgeben zu lassen ohne die geringsten Assemblerkenntnise. Also währe die FX Engine besser als Lib geeignet.

Als Beispiel habe ich so eine Proxy-DLL mal schnell für deine FX Engine gemacht. Anleitung und Source liegen bei: http://www.gametreasure.de/Temp/FXEngineProxyDLL.zip

Die zweite große Schwachstelle ist, dass du die Dateien auf die Festplatte entpackst. Dort sind sie ohne Probleme abzugreifen. Da muss sich ein Hacker noch nicht mal die Mühe machen die Dateien aus dem Speicher zu kopieren. Ausserdem ist es sehr schlecht für die Performance. Man sollte so wenig wie möglich auf die Festplatte zugreifen bei einem Spiel. Denn die Festplatte ist die dicke fette Performancebremse.

Wenn du die beiden Dinge noch änderst ist deine FX Engine durchaus brauchbar.

Viel Zeit kann man gewinnen, wenn man sich eigene Formate für die Daten wie Bilder und Sound ausdenkt. Aber das kostet auch wieder Zeit in der Entwicklung. Ist immer eine Sache von Kosten-Nutzen-Vergleich. Aber im Grunde ist alles knackbar solange die Passwörter, in welcher weise auch immer, mit dem Spiel mitgeliefert werden, was sie ja zwangsweise müssen.
Zu mir kommen behinderte Delphine um mit mir zu schwimmen.

Wir fordern mehr Aufmerksamkeit für umfallende Reissäcke! Bild
Benutzeravatar
X0r
Beiträge: 2770
Registriert: 15.03.2007 21:47
Kontaktdaten:

Beitrag von X0r »

Ne Lib für PureBasic ist im Paket enthalten. Und wenn die FX Engine die Dateien nicht auf die HD extrahiert, würde es doch eventuell Probleme mit Grafik Engines geben. Könnte doch sein, dass man die Ressourcen nicht vom aus Speicher laden kann.

Zum Proxy Problem: Man müsste einfach nur die MD5-Checksumme prüfen.
Antworten