Datei Container mit Packer & Crypter

Hier könnt Ihr gute, von Euch geschriebene Codes posten. Sie müssen auf jeden Fall funktionieren und sollten möglichst effizient, elegant und beispielhaft oder einfach nur cool sein.
Benutzeravatar
cxAlex
Beiträge: 2111
Registriert: 26.06.2008 10:42

Datei Container mit Packer & Crypter

Beitrag von cxAlex »

Ich habe basierend auf meinem MemoryStreaming Include einen Datei Container geschrieben, da ich mit den PB internen Container Funktionen nicht zufrieden war.
Features:
  • x86/x64/Ascii/Unicode kompatibel
  • Aufteilung Builder/Loader
  • (Un)Packer über Prototypes frei wählbar, Standart Packer vorprogrammiert [JCalG1/Zip]
  • Crypter über Prototypes frei wählbar, Standart Crypter vorprogrammiert [RC4]
  • Mögliche Kennzeichnung der Files per ID
  • Es werden Name/Größe/Attribute der Datei gespeichert
  • Iteration aller Dateien und ihrer Infos möglich
  • Dateien können per ID angesteuert werden
  • Dateien werden nur bei Bedarft automatisch entpackt, der entpackte Speicher wird gecached um weitere Zugriffe zu beschleuigen
  • Dateien können direkt als Stream exportiert werden
  • Dateien können wahlweise direkt als Datei gespeichert oder in den Speicher geladen werden
  • Sehr schnell beim Laden, geignet für GameData usw
Download Source:
http://paladiumproject.q-soft.ch/public ... tainer.zip

Democode als EXE:
http://paladiumproject.q-soft.ch/public ... r_demo.exe
Zuletzt geändert von cxAlex am 30.03.2009 17:26, insgesamt 6-mal geändert.
Projekte: IO.pbi, vcpu
Pausierte Projekte: Easy Network Manager, µC Emulator
Aufgegebene Projekte: ECluster

Bild

PB 5.1 x64/x86; OS: Win7 x64/Ubuntu 10.x x86
Benutzeravatar
cxAlex
Beiträge: 2111
Registriert: 26.06.2008 10:42

Beitrag von cxAlex »

Update:
  • Frei wählbare Verschlüsselung hinzugefügt (Standart: RC4)
  • Datei kann direkt aus dem Container in einen Stream konvertiert werden
  • Bug beim (Un)Packen der Daten behoben
Projekte: IO.pbi, vcpu
Pausierte Projekte: Easy Network Manager, µC Emulator
Aufgegebene Projekte: ECluster

Bild

PB 5.1 x64/x86; OS: Win7 x64/Ubuntu 10.x x86
Benutzeravatar
Kiffi
Beiträge: 10711
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Beitrag von Kiffi »

Danke! :allright:

Kleine Anmerkung noch:
cxAlex hat geschrieben:

Code: Alles auswählen

[...]
      temp = S(i)
      S(i) = S(j)
      S(j) = temp
[...]
... könnte man ersetzen durch:

Code: Alles auswählen

Swap S(i), S(j)
weiß allerdings nicht, ob es performanter ist, aber man spart sich zumindest die Temp-Variable.

Grüße ... Kiffi
a²+b²=mc²
Benutzeravatar
cxAlex
Beiträge: 2111
Registriert: 26.06.2008 10:42

Beitrag von cxAlex »

Danke für die Anregung, wird in der nächsten Version eingebaut.
Projekte: IO.pbi, vcpu
Pausierte Projekte: Easy Network Manager, µC Emulator
Aufgegebene Projekte: ECluster

Bild

PB 5.1 x64/x86; OS: Win7 x64/Ubuntu 10.x x86
Benutzeravatar
AND51
Beiträge: 5220
Registriert: 01.10.2005 13:15

Beitrag von AND51 »

Kiffi hat geschrieben:
cxAlex hat geschrieben:

Code: Alles auswählen

[...]
      temp = S(i)
      S(i) = S(j)
      S(j) = temp
[...]
... könnte man ersetzen durch:

Code: Alles auswählen

Swap S(i), S(j)
Grüße ... Kiffi
Na Kiffi? Kopiert vom Thread vom 23. Dez. 2007? :wink:
Du wiederholst dich... :lol:
PB 4.30

Code: Alles auswählen

Macro Happy
 ;-)
EndMacro

Happy End
Benutzeravatar
cxAlex
Beiträge: 2111
Registriert: 26.06.2008 10:42

Beitrag von cxAlex »

Update:
  • Speicherblöcke können direkt zum Container hinzugefügt werden
  • Packer wählbar: Zip/JCalG1
  • Dateien können direkt als Stream exportiert werden
  • Crypter verbessert
  • Kleine Bugfixes
Code im 1. Post

Builder wird auch bald aktualisiert
http://www.purebasic.fr/german/viewtopic.php?t=19107
Projekte: IO.pbi, vcpu
Pausierte Projekte: Easy Network Manager, µC Emulator
Aufgegebene Projekte: ECluster

Bild

PB 5.1 x64/x86; OS: Win7 x64/Ubuntu 10.x x86
Benutzeravatar
cxAlex
Beiträge: 2111
Registriert: 26.06.2008 10:42

Beitrag von cxAlex »

Update:
  • CRC Check eingebaut
  • Einige Befehlsnamen geändert
  • Bug beim Zip - Unpacker behoben
  • Wegen der Größe des Includes nun als Download verfügbar
siehe 1. Post
Projekte: IO.pbi, vcpu
Pausierte Projekte: Easy Network Manager, µC Emulator
Aufgegebene Projekte: ECluster

Bild

PB 5.1 x64/x86; OS: Win7 x64/Ubuntu 10.x x86
Benutzeravatar
cxAlex
Beiträge: 2111
Registriert: 26.06.2008 10:42

Beitrag von cxAlex »

Projekte: IO.pbi, vcpu
Pausierte Projekte: Easy Network Manager, µC Emulator
Aufgegebene Projekte: ECluster

Bild

PB 5.1 x64/x86; OS: Win7 x64/Ubuntu 10.x x86
Antworten