packer? modell viewer?

C

Chiper

also,
wie kann ich einen eigenen packer machen?
also auch ein eigenes format und der auch exe dateien erstellen kann.
ich habs schon öfters mit tutorials lesen probiert aber das hat nichts gebracht.
und ich wollte einen editor machen mit dem mal modelle im mdl format bearbeiten und ansehen kann.
aber wie geht das???:(
 
Hui, heut is hier ja wieder was los *g*.

Also als ersten Schritt musst du einmal ein File-Format designen z.b. suchst du dir passende Kompressionsverfahren und überlegst dir ob du einen CRC32, MD5 oder gar keinen Hash-Code verwenden willst. Ebenso wie das Format aufgebaut sein (z.b. zuerst ein File-Header, dann eine Tabelle mit allen gespeicherten Dateien, dann die (komprimierten) Dateien).
Am besten du schaust dir dazu auch ein paar bestehende Dateiformate an (http://www.wotsit.org)

--- Ab hier "normales" SWENG
Dann geht es darum Klassen/Funktionen zu designen, und sie zu implementiern. Dabei gehst du wie beim Design normaler Klassen vor. z.B. kannst du zuerst ein paar Snippets schreiben um Archive zu erstellen usw. und dann erst dein Interface festlegen u. die Klasse implementiern (dadurch lässt sich sehr gut ein effektives Interface designen) z.b. könnte ein Snippet so aussehen:

Code:
Packet->CreateArchive("myarchive.xyz");
Packet->AddFile("abcd.gif");
Packet->AddFile("text.txt");
Packet->RemoveFile("abcd.gif");
Packet->WriteToDisk();
Packet->Close();

Dadurch weißt du schon wie dein Interface aussehen soll, jetzt geht es nur noch darum die entsprechenden Komprimierungsalgorithmen zu implementieren!

WG. EXE:
Hier wird's etwas schwieriger, du könntest ein Art "EXE-Template" machen und in diese EXE in ein Extra-Segment dann dein Archiv "reinkopiern".
Ich würd das mit den EXEs einfach lassen ;).

WG. TUTORIALS LESEN:
Am besten ist du probierst auch selbst immer Dinge aus, nur vom Tutorial lesen gewinnt man kaum Praxis.

ZUM EDITOR:
Wenn du OpenGL od. DirectX beherrscht (oder den Nerv hast einen Software-Renderer zu schreiben), brauchst du dir nur noch die Format-Spezifikation des .mdl-Formats durchlesen (ich denke mal die dürfte es auf wotsit geben) und die Datei dann laden und eben anzeigen.
Das mit dem editieren ist etwas schwieriger... am besten du baust erst den Viewer und fragst dann nochmal (Bis dahin solltest du mit DX/OGL eigentlich genug Erfahrung haben um auch selbst draufzukommen).
 

Neue Beiträge

Zurück