Der Schutz ist relativ einfach zu erklären : Alle Ordner wurden in eine DLL gepackt. Durch eine spezielle INI wird es warscheinlich möglich gemacht, dass die Harmony in die Datenbank (DLL) reingeht, und da die Ordner wiedererkennt.
...
INI, Dll?
Was willst du denn damit? Eine Ini Datei ist nix als eine Textdatei mit Preferencen des Programms. Also etwa die Optionen, Auflösung, Tastencodes und Co. Sicher kann man auch in einer INI die gepackten Dateien speichern, aber sie wird nicht speziell benötigt. Der Datentyp INI hat damit jedenfalls nix am Hut. Ansonsten glaube ich nicht, dass die Harmony.dll modifiziert wurde und sich aus dem Pack der Binaries die passende Datei sucht. Ich glaube nicht dass Dinge wie die Grafikengine in der Harmony.dll verarbeitet werden. Demnach könnte man auch über die Harmony.dll keine Daten anderswoher einladen.
Ich denke, die Datein werden einfach zu einem Packen Binaries geformt, in eine Exe gepackt welche diese Daten dann in ein temporäres Verzeichnis auf der Festplatte entpackt, und von dort dann startet. Nach dem Spiel werden dann diese temporären Datein wieder gelöscht (eventuell auch so geschickt das die Saves zu den Binaries hinzugefügt werden und man somit speichern kann).
Was das jetzt mit einer DLL gemein hat, weiß ich nicht. Immerhin ist es doch eine Exe, welche das Spiel enthält, oder nicht? Demnach werden im Programmcode der Exe am Ende einfach die Dateien angehängt und der passende Code entpackt diese Binarys auf die Platte. Sollte nicht so schwer sein, zu knacken. Denn demnach müssten die Datein beim Spielen ja irgendwo auf der Festplatte entpackt sein. Dass die Daten direkt in den Arbeitsspeicher entpackt werden, kann ich mir nicht vorstellen, da der Maker ja auf der Harddisk nach den Daten sucht. Also dort wo die RPG_RT.exe ist. Und diese wird ja höchstwahscheinlich beim Starten in ein temporäres Verzeichnis entpackt und gestartet.
So meine Theorie wie das klappen könnte.
Eine DLL ist übrigends - zwar eine Bibliothek - aber eine für Funktionen. Also Programme können auf die Funktionen einer DLL zugreifen und diese nutzen. Man kann imo zwar auch Binary-Daten in eine DLL einbinden, aber ist hier nicht nötig da es ja eine Exe-Datei ist welche einfach die Byte der Daten angehängt bekommt, eventuell auch verschlüsselt.
Das ist übrigends die einzige INI-Datei welche im Projekt-Verzeichnis der Makerspiele liegt: (Und da finde ich kein Verweis auf die Ordner für die einzelnen Ressourcen...)