Seite 1 von 1
Entpack Problem !!!
Verfasst: 31.03.2005 10:16
von Pure-r-Freak
ich habe gestern angefangen einen Packer zu proggen. funzt auch bis auf das entpacken!
kann mir jemand ein simples Beispiel geben, wie man jetzt eine exe enpacken kann?????
ps: PB Hilfe kenn ich schon!
Verfasst: 31.03.2005 12:31
von FISCHAUGE
Hier das findest du aber auch im code arichv!
Code: Alles auswählen
NewList DateienEntpacken.s() ;Liste zum Entpacken erstellen
Pfad$ = "C:\"
;Auswahlfenster für die gepackte Datei
PackDatei$ = OpenFileRequester("Dateien auswählen", Pfad$, "Gepackte Dateien (*.pac)|*.pac", 0)
If OpenPack(PackDatei$) ;Gepackte Datei öffnen.
*SpeicherAdresse = NextPackFile() ;Die erste Datei in eine Speicheadresse schreiben.
Groesse = PackFileSize() ;Die Groesse der Datei feststellen.
;Die Datei auslesen lassen, damit man die Namen der gepackten Dateien erhält und in die Liste schreiben.
For Schleife = 1 To Groesse
String$ = PeekS(*SpeicherAdresse, Groesse)
Position = FindString(String$, Chr(13), Schleife)
AddElement(DateienEntpacken())
Laenge = Position - Schleife
DateienEntpacken() = Mid(String$, Schleife, Laenge)
Schleife = Schleife + Laenge + 1
Next Schleife
Else
End
EndIf
If CreateDirectory("C:\Entpackt") :EndIf ;Ein Verzeichnis wird erstellt, in welches die Dateien entpackt werden sollen.
ResetList(DateienEntpacken())
While NextElement(DateienEntpacken())
*GepackteDatei = NextPackFile()
Groesse = PackFileSize()
If CreateFile(0, "C:\Entpackt\"+DateienEntpacken()) ;Eine Datei mit einem Namen aus der Liste wird erstellt.
WriteData(*GepackteDatei, Groesse) ;Die Datein werden in die Datei geschrieben.
EndIf
CloseFile(0) ;Datei schließen, damit eine neue erstellt werden kann.
Wend
Wichtig ist nur das du beim Packen der Dateien auch eine Liste mit in die Datei packst damit du die Dateien wieder entpacken kannst sonst läuft es net

EDIT: In der liste müssen die Dateinamen stehen!!
Verfasst: 31.03.2005 13:05
von Pure-r-Freak
ja genau
eine liste mit den dateinamen mit packen.
nur das bsp verstehe ich net ganz
If OpenPack(PackDatei$) ;Gepackte Datei öffnen.
*SpeicherAdresse = NextPackFile() ;Die erste Datei in eine Speicheadresse schreiben.
Groesse = PackFileSize() ;Die Groesse der Datei feststellen.
;Die Datei auslesen lassen, damit man die Namen der gepackten Dateien erhält und in die Liste schreiben.
For Schleife = 1 To Groesse
String$ = PeekS(*SpeicherAdresse, Groesse)
Position = FindString(String$, Chr(13), Schleife)
AddElement(DateienEntpacken())
Laenge = Position - Schleife
DateienEntpacken() = Mid(String$, Schleife, Laenge)
Schleife = Schleife + Laenge + 1
Next Schleife
Else
End
EndIf
kann das bitte jemand etwas erläutern, oder besser ein einfaches bsp posten ?>?>?>?
