Dateien zippen

Alle Fragen um die Programmierung, die sich sonst nicht kategorisieren lassen. Von Makro bis Codeblock, von IF bis ENDIF

Moderator: Moderatoren

Benutzeravatar
Werner_Bayern
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2120
Registriert: Sa, 30. Jan 2010 22:58
Wohnort: Niederbayern
Hat sich bedankt: 29 Mal
Danksagung erhalten: 70 Mal

Re: Dateien zippen

Beitrag von Werner_Bayern »

Moin Martin,

ich hab in den Hilfen bei den Quellen nach 10 Minuten Suche nichts zu Passwort gefunden. Lediglich CRC32. Muss ich nochmal schauen...

Danke.
es grüßt

Werner

<when the music is over, turn off the lights!>
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Re: Dateien zippen

Beitrag von AUGE_OHR »

Werner_Bayern hat geschrieben:ich hab in den Hilfen bei den Quellen nach 10 Minuten Suche nichts zu Passwort gefunden. Lediglich CRC32. Muss ich nochmal schauen...
Start Message: public.third-party-products -> XbZLib Version 2.3 -> 30. Januar 2015

letzte Antwort : 12. Mai 2015
>I am just testing this ZIP library, but I saw it does not support
>possibility to specify a PASSWORD to compress or uncompress. Is That true?

It is currently not possible to encrypt (or decrypt) any files with XbZLib.
There are several different encryption formats possible with Zip files, but
I haven't had the time (or need) to implement any of them, so far.

If you want, you can add such a feature yourself, though, as all the source
code for XbZLib is available to you. If you do, please post your code, so it
can be made part of the distribution and benefit all XbZLib users.
Werner_Bayern hat geschrieben:Müsste jedoch möglich sein, da ein mit 7zip erstelltes Zip mit Passwort über die Windows-Standard-Zipfunktion entpackt werden kann, Windows frägt dann nach dem Passwort.
das wusste ich auch noch nicht ... hm ... und wie erkennt Windows welche Verschlüsselung gemeint ist ?

zu "CopyHere" gibt diese Parameter https://msdn.microsoft.com/en-us/librar ... 85%29.aspx
gruss by OHR
Jimmy
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15688
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: Dateien zippen

Beitrag von brandelh »

windows entpackt nur ZIP Standardverschlüsselung und die ist schwach
Gruß
Hubert
Benutzeravatar
Koverhage
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2470
Registriert: Fr, 23. Dez 2005 8:00
Wohnort: Aalen
Hat sich bedankt: 102 Mal
Danksagung erhalten: 3 Mal
Kontaktdaten:

Re: Dateien zippen

Beitrag von Koverhage »

Tom,
Benutze schon seit Jahren ADDZIP, auch mit Passwortschutz und als DLL, funzt nach wie vor problemlos.
Ist ja man schon ein paar Tage alt.
Ich benutze das auch mit dem Wrapper BDZIP.
Bisher habe ich keine Probleme damit, jetzt muss ich Dateien aus einer mit Password versehenen Datei extrahieren.
Kannst Du mir da einen Tip geben ?
Gruß
Klaus
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9345
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 100 Mal
Danksagung erhalten: 359 Mal
Kontaktdaten:

Re: Dateien zippen

Beitrag von Tom »

ADDZIP kann mit Passwörtern umgehen. Aber ob's das wirklich noch irgendwo gibt, weiß ich nicht. Die Einbindung ist simpel, das sind nur ein paar Zeilen Code, aber es muss lizenziert sein.
Herzlich,
Tom
Benutzeravatar
Koverhage
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2470
Registriert: Fr, 23. Dez 2005 8:00
Wohnort: Aalen
Hat sich bedankt: 102 Mal
Danksagung erhalten: 3 Mal
Kontaktdaten:

Re: Dateien zippen

Beitrag von Koverhage »

Ich benutze ja ADDZIP und AUNZIP. Habe bisher auch keine Probleme damit.
Nun habe ich ZIP Dateien die mit Kennwort versehen sind und ich bekomme die Dateien nicht extrahiert.

Bisher (ohen Passwort)
DllCall(nDllZip,DLL_STDCALL,"addUNZIP_ArchiveName",cArcFile)
DllCall(nDllZip,DLL_STDCALL,"addUNZIP_Include","*.*")
DllCall(nDllZip,DLL_STDCALL,"addUNZIP_RestoreStructure",0)
DllCall(nDllZip,DLL_STDCALL,"addUNZIP_ExtractTo",cPath)
DllCall(nDllZip,DLL_STDCALL,"addUNZIP")

Neu (mit Passwort)
DllCall(nDllZip,DLL_STDCALL,"addUNZIP_ArchiveName",cArcFile)
DllCall(nDllZip,DLL_STDCALL,"addUNZIP_Include","*.*")
DllCall(nDllZip,DLL_STDCALL,"addUNZIP_RestoreStructure",0)
DllCall(nDllZip,DLL_STDCALL,"addUNZIP_ExtractTo",cPath)
IF !Empty(cKennwort)
nError := DllCall(nDllZip,DLL_STDCALL,"addUNZIP_Decrypt",cKennwort)
if nError > 0
showerrmsg(nError)
endif
ENDIF
DllCall(nDllZip,DLL_STDCALL,"addUNZIP")

Was mache ich falsch ?
Gruß
Klaus
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9345
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 100 Mal
Danksagung erhalten: 359 Mal
Kontaktdaten:

Re: Dateien zippen

Beitrag von Tom »

Hallo, Klaus.

Sieht für mich richtig aus; ich mache es fast genauso, außer, dass ich in der DLLFUNCTION das Passwort per Referenz (@) übergebe, warum auch immer. Was ist denn der Rückgabewert der Unzip-Funktion? Kann es sein, dass Du ein Zeichensatzproblem hast? Ist das Passwort 7-Bit-ASCII oder gibt es möglicherweise problematische Zeichen?
Herzlich,
Tom
Benutzeravatar
Koverhage
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2470
Registriert: Fr, 23. Dez 2005 8:00
Wohnort: Aalen
Hat sich bedankt: 102 Mal
Danksagung erhalten: 3 Mal
Kontaktdaten:

Re: Dateien zippen

Beitrag von Koverhage »

Hallo Tom,
habe es nicht hinbekommen. Wenn # ein problematisches Zeichen ist ja.
Habe es jetzt mit Runshell und 7-Zip gelöst.
Danke.
Gruß
Klaus
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9345
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 100 Mal
Danksagung erhalten: 359 Mal
Kontaktdaten:

Re: Dateien zippen

Beitrag von Tom »

Wenn # ein problematisches Zeichen ist ja.
Eigentlich nicht. Was erzeugen denn diese beiden Zeilen:

Code: Alles auswählen

DllCall(nDllZip,DLL_STDCALL,"addUNZIP_Decrypt",cKennwort)
DllCall(nDllZip,DLL_STDCALL,"addUNZIP")
für Rückgabecodes, wenn es nicht klappt? Was passiert, wenn Du selbst eine einfache ZIP-Datei mit einem sehr simplen Passwort (1234) erstellst?

Ich nutze das jedenfalls mit Kennwort, und zwar seit Jahren.
Herzlich,
Tom
Benutzeravatar
Koverhage
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2470
Registriert: Fr, 23. Dez 2005 8:00
Wohnort: Aalen
Hat sich bedankt: 102 Mal
Danksagung erhalten: 3 Mal
Kontaktdaten:

Re: Dateien zippen

Beitrag von Koverhage »

Decrypt gibt Errorcode 1 zurück, bedeutet aber kann ZIP Archiv nicht erstellen (zumindest nach den Unterlagen die ich habe).
Gruß
Klaus
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9345
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 100 Mal
Danksagung erhalten: 359 Mal
Kontaktdaten:

Re: Dateien zippen

Beitrag von Tom »

Erstellen? Du willst doch extrahieren, also das Gegenteil davon.
Herzlich,
Tom
Benutzeravatar
Koverhage
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2470
Registriert: Fr, 23. Dez 2005 8:00
Wohnort: Aalen
Hat sich bedankt: 102 Mal
Danksagung erhalten: 3 Mal
Kontaktdaten:

Re: Dateien zippen

Beitrag von Koverhage »

Da muss ich noch mal tiefer graben.
Gruß
Klaus
ramses
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2513
Registriert: Mi, 28. Jul 2010 17:16
Hat sich bedankt: 12 Mal
Danksagung erhalten: 77 Mal

Re: Dateien zippen

Beitrag von ramses »

Dein Errorcode 1 kann auch bedeuten dass wegen unvollständiger/nicht kompatibler DLL-Funktionen das Archiv nicht in entpackter Form geschrieben werden kann.

Leider sind die meisten Zip - DLL's etwas in die Tagen gekommen und unterstützen z.T. nicht alle möglichkeiten des ZIP-Standards was dann dazu führt dass sich Archive nicht entpacken lassen. Ich hatte vor einiger Zeit länger damit gekämpft und Erfahrungen gesammelt weil sich bestimmte Archive einfach nicht entpacken liessen. Diese wurden Sie alle vom selben Packer zusammengestellt. Eines konnte entpackt werden ein anders nicht. .....

Von den ZIP-DLL's hat dabei ib-zip.dll am besten abgeschnitten.
Valar Morghulis

Gruss Carlo
Benutzeravatar
Koverhage
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2470
Registriert: Fr, 23. Dez 2005 8:00
Wohnort: Aalen
Hat sich bedankt: 102 Mal
Danksagung erhalten: 3 Mal
Kontaktdaten:

Re: Dateien zippen

Beitrag von Koverhage »

Habe mir jetzt über addUNZIP_GetLastWarning diese anzeigen lassen.
Als Warnung bekomme ich 24 - eine neuere Version der Software wird benötigt.
Ich hab die .071 es gibt wohl eine 1.00 R2 aber die kann man nirgends runterladen.
Also gebe ich an der Stelle auf.
Gruß
Klaus
Benutzeravatar
BJelinek
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 218
Registriert: Sa, 02. Jun 2012 20:57
Wohnort: 73257 Köngen
Hat sich bedankt: 9 Mal
Danksagung erhalten: 3 Mal

Re: Dateien zippen

Beitrag von BJelinek »

Kann man dafür nicht 7-zip verwenden ?

Da gibt es DLLs, Consolenversion

Ist Open Source.
Grüße
Bernd

Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
Koverhage
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2470
Registriert: Fr, 23. Dez 2005 8:00
Wohnort: Aalen
Hat sich bedankt: 102 Mal
Danksagung erhalten: 3 Mal
Kontaktdaten:

Re: Dateien zippen

Beitrag von Koverhage »

Bernd,
hatte ich doch hier https://www.xbaseforum.de/viewtopic.php ... 34#p136834 geschrieben.
Gruß
Klaus
Benutzeravatar
BJelinek
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 218
Registriert: Sa, 02. Jun 2012 20:57
Wohnort: 73257 Köngen
Hat sich bedankt: 9 Mal
Danksagung erhalten: 3 Mal

Re: Dateien zippen

Beitrag von BJelinek »

Sorry Klaus,

habe ich übersehen.
Ich benutze auch die 7ZA.EXE mit runshell.

Aber könnte man nicht auch die DLL verwenden ?

Oder hat schon jemand die 7-zip DLL eingebunden und verwendet?
Grüße
Bernd

Mitglied des Deutschsprachige Xbase-Entwickler e. V.
ramses
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2513
Registriert: Mi, 28. Jul 2010 17:16
Hat sich bedankt: 12 Mal
Danksagung erhalten: 77 Mal

Re: Dateien zippen

Beitrag von ramses »

BJelinek hat geschrieben: Di, 17. Nov 2020 13:56 Oder hat schon jemand die 7-zip DLL eingebunden und verwendet?
Hallo Bernd

ich habs damals vor 2 Jahren als ich die Probleme hatte versucht. NIcht ganz so einfach. Ich habe dann aufgegeben weil ich mich errinnerte mal in einem Projekt eine andere DLL eingebaut zu haben. Diese habe ich gesucht und in einem Projekt von 2007 gefunden. Mit der hat dann alles bis heute funktioniert. Einwandfrei Pack / Unpack mit ohne Passwort ..... Das war eben die erwähne ib-zip.dll
Valar Morghulis

Gruss Carlo
Benutzeravatar
Koverhage
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2470
Registriert: Fr, 23. Dez 2005 8:00
Wohnort: Aalen
Hat sich bedankt: 102 Mal
Danksagung erhalten: 3 Mal
Kontaktdaten:

Re: Dateien zippen

Beitrag von Koverhage »

Carlo,
der scheint auch nicht mehr zu existieren.
Gruß
Klaus
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Re: Dateien zippen

Beitrag von AUGE_OHR »

hi,

mir reicht das "eingebaute" ZIP und die API Function COPYHERE.
da es kein Passwort "setzen" ( aber "abfragen" ) kann wird hier 7-ZIP verwendet

Frage : hat schon jemand 7-zip32.dll (v9.22.02) per DLLcall angesprochen :?:

Code: Alles auswählen

PROCEDURE Main
STATIC PROCEDURE RunTest( nChoice )
STATIC PROCEDURE ShowStatus( cFile, cCount, cType, cVersion )
STATIC FUNCTION Version7zip
STATIC PROCEDURE CreateArc
            DllCall( nDLLHandle, DC_CALL_STD, 'SevenZip', _HMG_MainHandle, cCommand )
STATIC PROCEDURE ViewArc
   nArcHandle := DllCall( nDLLHandle, DC_CALL_STD, 'SevenZipOpenArchive', _HMG_MainHandle, cFile, 0 )   // Открыть архив
   nCount  := DllCall( nDLLHandle, DC_CALL_STD, 'SevenZipGetFileCount', cFile )  // Количество элементов в архиве
   nResult := DllCall( nDLLHandle, DC_CALL_STD, 'SevenZipGetArchiveType', cFile )  // Тип архива
   DllCall( nDLLHandle, DC_CALL_STD, 'SevenZipFindFirst', nArcHandle, '*', pInfo )
   DllCall( nDLLHandle, DC_CALL_STD, 'SevenZipGetFileName', nArcHandle, @cValue, FNAME_MAX32 )
      DO WHILE ( ( nResult := DllCall( nDLLHandle, DC_CALL_STD, 'SevenZipFindNext', nArcHandle, pInfo ) ) == 0 )
         DllCall( nDLLHandle, DC_CALL_STD, 'SevenZipGetFileName', nArcHandle, @cValue, FNAME_MAX32 )
   DllCall( nDLLHandle, DC_CALL_STD, 'SevenZipCloseArchive', nArcHandle )
STATIC PROCEDURE ExtractArc
         DllCall( nDLLHandle, DC_CALL_STD, 'SevenZip', _HMG_MainHandle, cCommand )
STATIC PROCEDURE CreateArcExternal
STATIC PROCEDURE ViewArcExternal
STATIC PROCEDURE ExtractArcExternal
gruss by OHR
Jimmy
Antworten