FX Engine
FX Engine
Hallo Community!
Ich arbeite schon seit mehreren Tagen an der Lib und nun ist sie endlich fertig.
Was ist FX Engine?
FX Engine ist eine freie Lib zum schnellen Komprimieren von Dateien und verwendet sowohl eine fremde, als auch eine eigene Kompressionstechnologie.
Sie wurde speziell für Spieleentwickler entwickelt, damit End-User keine Ressourcen manipulieren oder gar für eigene Zwecke verwenden können.
Genug geredet.
Schauts euch einfach an!
Was beinhaltet das FX Engine Package?
- FX Engine.dll
- Libs für PureBasic, BlitzBasic, C und Profan
- 2 Beispiele in C++ von mir
- 2 Beispiel in PureBasic von mir
- Wrapper für PureBasic
- FXPack zum Erstellen von .fxm, .fxt, .fxa und .fxd Dateien
Download: http://www.forgesoft.net/Products/FX%20 ... 20Pack.zip
Ich arbeite schon seit mehreren Tagen an der Lib und nun ist sie endlich fertig.
Was ist FX Engine?
FX Engine ist eine freie Lib zum schnellen Komprimieren von Dateien und verwendet sowohl eine fremde, als auch eine eigene Kompressionstechnologie.
Sie wurde speziell für Spieleentwickler entwickelt, damit End-User keine Ressourcen manipulieren oder gar für eigene Zwecke verwenden können.
Genug geredet.
Schauts euch einfach an!
Was beinhaltet das FX Engine Package?
- FX Engine.dll
- Libs für PureBasic, BlitzBasic, C und Profan
- 2 Beispiele in C++ von mir
- 2 Beispiel in PureBasic von mir
- Wrapper für PureBasic
- FXPack zum Erstellen von .fxm, .fxt, .fxa und .fxd Dateien
Download: http://www.forgesoft.net/Products/FX%20 ... 20Pack.zip
Zuletzt geändert von X0r am 14.08.2007 18:02, insgesamt 3-mal geändert.
-
- Beiträge: 630
- Registriert: 05.05.2005 19:06
>Sieht sehr gut aus, kann das auch sehr gut gebrauchen... Nur... Wie erstellt man solche Packfiles?
Danke! Packfiles erstellst du mit FXPack im "FXPack" Ordner.
Edit: Ups, ich habe vergessen ihn mit reinzupacken. Ist in der nächsten Version dabei.
>Und dieses Savegame-Beispiel is ja auch Steht ja alles im Plaintext. Was soll der Sinn der Funktionen GetNumber & GetString sein?
Welches Save-Game-Beispiel? Du meinst Classes.cpp|Classes.pb?
FX_FileGetString ist ein Befehl, um einen bestimmten String von einem bestimmten Befehl in einer bestimmten Gruppe zu bekommen.
Diese beiden Funktionen(..GetString und ..GetNumber) sind "Parser-Befehle". Ist eigentlich nichts anderes als die Preference-Lib von PureBasic. Nur halt im "C++-Style". Diese Funktionen sind ebenfalls nützlich für Games. Z.B, wenn du ein modifizierbares Spiel entwickeln willst, welches man durch diese ".FXQ-Dateien" modifizieren kann.
Danke! Packfiles erstellst du mit FXPack im "FXPack" Ordner.
Edit: Ups, ich habe vergessen ihn mit reinzupacken. Ist in der nächsten Version dabei.

>Und dieses Savegame-Beispiel is ja auch Steht ja alles im Plaintext. Was soll der Sinn der Funktionen GetNumber & GetString sein?
Welches Save-Game-Beispiel? Du meinst Classes.cpp|Classes.pb?
FX_FileGetString ist ein Befehl, um einen bestimmten String von einem bestimmten Befehl in einer bestimmten Gruppe zu bekommen.

Diese beiden Funktionen(..GetString und ..GetNumber) sind "Parser-Befehle". Ist eigentlich nichts anderes als die Preference-Lib von PureBasic. Nur halt im "C++-Style". Diese Funktionen sind ebenfalls nützlich für Games. Z.B, wenn du ein modifizierbares Spiel entwickeln willst, welches man durch diese ".FXQ-Dateien" modifizieren kann.
FXPack zum Erstellen von .fxm, .fxt, .fxa und .fxd Dateien ist nun im FX Engine Pack enthalten.
Download: http://www.forgesoft.net/Products/FX%20 ... 20Pack.zip
Download: http://www.forgesoft.net/Products/FX%20 ... 20Pack.zip
- Fluid Byte
- Beiträge: 3110
- Registriert: 27.09.2006 22:06
- Wohnort: Berlin, Mitte
Welches ist die fremde? Nicht zufällig JCalG1 aus der Packer Lib? Außerdem würd ich gerne wissen wie eine eigene Kompressionsmethode gebastelst hast. Gibs da nen bissi Quelltext oder Infos?... fremde, als auch eine eigene Kompressionstechnologie.
Außerdem wie sicher ist das? Ich hab mich selbst an Verschlüsselung bzw. am verpacken von Dateien versucht. Thorium hats ziemlich schnell genackt.
Windows 10 Pro, 64-Bit / Outtakes | Derek
Nein, nichts von der Packer-Lib, die ist doch viel zu unsicher. Es ist ein sehr bekanntes Format, welches ich leider nicht nennen werde(Sry, nimms mir nicht übel).
Meine Kompressionsmethode ist einfach. Ich ersetze beim Komprimieren eigentlich nur bestimmte Bytewerte durch "Tokens" und beim Entrahieren halt umgekehrt. Ist aber noch in Entwicklung. Momentan "tune" ich das XYZ-Format, damit mans nicht einfach so mit herkömmlichen File-Packern öffnen kann.
Trotzdem bleibt die FX Engine sicher. Wenn du deine Archive mit Passwörtern schützt, werden sie selbstverständlich verschlüsselt und können nur mit der Brute-Force-Methode gehackt werden(Bis jetzt..).
Achja, hier eine kurze Liste der FX-Dateien:
.FXM : Für Meshes(inklusive Texturen)
.FXT : Für Bilder(/Texturen)
.FXA : Für Sounds
.FXD : Für alles andere
So ist es gedacht. Für was ihr nun die jeweiligen FX-Formate nutzt ist euch überlassen.
Meine Kompressionsmethode ist einfach. Ich ersetze beim Komprimieren eigentlich nur bestimmte Bytewerte durch "Tokens" und beim Entrahieren halt umgekehrt. Ist aber noch in Entwicklung. Momentan "tune" ich das XYZ-Format, damit mans nicht einfach so mit herkömmlichen File-Packern öffnen kann.
Trotzdem bleibt die FX Engine sicher. Wenn du deine Archive mit Passwörtern schützt, werden sie selbstverständlich verschlüsselt und können nur mit der Brute-Force-Methode gehackt werden(Bis jetzt..).
Achja, hier eine kurze Liste der FX-Dateien:
.FXM : Für Meshes(inklusive Texturen)
.FXT : Für Bilder(/Texturen)
.FXA : Für Sounds
.FXD : Für alles andere
So ist es gedacht. Für was ihr nun die jeweiligen FX-Formate nutzt ist euch überlassen.
- Fluid Byte
- Beiträge: 3110
- Registriert: 27.09.2006 22:06
- Wohnort: Berlin, Mitte
Naja, jetzt haste dich schon fast veraten. Ist wohl .ZIP, .7Z oder .RAR.Es ist ein sehr bekanntes Format, welches ich leider nicht nennen werde(Sry, nimms mir nicht übel).

[offtopic]
Das ist ja das Ding. Das die Datei selber sicher ist glaub ich aufs Wort. Ich habe meine Dateien mit einem 64-bit key verschlüsselt aber das ist redundant. Kein halbwegs vernüpftiger Cracker fässt das Archiv selber an sonder konzentriert sich auf die Anwendung die es ausliest. Die Daten (Sounds, Grafik, etc.) werden ja nackt in den Speicher geladen um sie nutzen zu können von daher bringt jegliche Verschlüsselung nix.Trotzdem bleibt die FX Engine sicher. Wenn du deine Archive mit Passwörtern schützt, werden sie selbstverständlich verschlüsselt und können nur mit der Brute-Force-Methode gehackt werden(Bis jetzt..).
[/offtopic]
Egal, habs mir grad runtergeladen und ich denke ich werds für mein nächstes Spiel nutzen. Muß halt das Password und zugehörige Strings besser schützen.
Zuletzt geändert von Fluid Byte am 14.08.2007 18:25, insgesamt 1-mal geändert.
Windows 10 Pro, 64-Bit / Outtakes | Derek
- Fluid Byte
- Beiträge: 3110
- Registriert: 27.09.2006 22:06
- Wohnort: Berlin, Mitte
Was?AndyX hat geschrieben:AFAIK ist es .PAK, steht aber glaub ich auch in der PB Hilfe.

Forge hat geschrieben:Nein, nichts von der Packer-Lib, die ist doch viel zu unsicher.
Windows 10 Pro, 64-Bit / Outtakes | Derek
>Egal, habs mir grad runtergeladen und ich denke ich werds für mein nächstest Spiel nutzen. Muß halt das Password und zugehörige Strings besser schützen.
Danke! Achja, wenn du ein Archiv öffnest und die Dateien nun laden willst, musst du nicht mühsam noch den Pfad eingeben. Benutze einfach FX_Get.
Beispiel:
>AFAIK ist es .PAK, steht aber glaub ich auch in der PB Hilfe.
Nein! Nie im Leben .PAK! Selbst wenn einer dass FX-Format hackt und es zu seiner ursprünglichen Archivform bringt, braucht es die FX Engine User nicht jucken. Sobald man ein Passwort mit angibt ist das Archiv sicher.
So, nun noch was zur Sicherheit der Archive.
Das Passwort sollte möglichst lang sein (ca. 12 chars) und Zahlen sowie Sonderzeichen enthalten(!,?, [Leerzeichen]). So dürfte es mit der Brute-Force-Methode mehrere 100 Jahre dauern(Da dann noch das Extrahieren dazukommt warscheinlich über 1000 Jahre).
Danke! Achja, wenn du ein Archiv öffnest und die Dateien nun laden willst, musst du nicht mühsam noch den Pfad eingeben. Benutze einfach FX_Get.
Beispiel:
Code: Alles auswählen
FX_OpenFXM("Test.fxm","Content\Datas\Assets\Temp\","")
LoadMesh(FX_Get("mesh.b3d"))
; Und nicht LoadMesh("Content\Datas\Assets\Temp\mesh.b3d)
FX_CloseArchive()
; Nie vergessen! sonst macht FX_Get beim nächsten Archiv Probleme
>AFAIK ist es .PAK, steht aber glaub ich auch in der PB Hilfe.
Nein! Nie im Leben .PAK! Selbst wenn einer dass FX-Format hackt und es zu seiner ursprünglichen Archivform bringt, braucht es die FX Engine User nicht jucken. Sobald man ein Passwort mit angibt ist das Archiv sicher.
So, nun noch was zur Sicherheit der Archive.
Das Passwort sollte möglichst lang sein (ca. 12 chars) und Zahlen sowie Sonderzeichen enthalten(!,?, [Leerzeichen]). So dürfte es mit der Brute-Force-Methode mehrere 100 Jahre dauern(Da dann noch das Extrahieren dazukommt warscheinlich über 1000 Jahre).