PackMemory() + Error Meldungen PB 6 oder Syntax Check (gelöst)
Re: PackMemory() + Error Meldungen PB 6 oder Syntax Check (gelöst)
Schau mal in die Hilfe: https://www.purebasic.com/german/docume ... ysize.html
PackEntrySize() funktioniert nur nach ExaminePack()/NextPackEntry()!
PackEntrySize() funktioniert nur nach ExaminePack()/NextPackEntry()!
Guten Morgen, das ist ein schöner Tnetennba!
PureBasic 6.21/Windows 11 x64/Ryzen 7900X/32GB RAM/3 TB SSD
Synology DS1821+/DX517, 130.9TB+50.8TB+2TB SSD
PureBasic 6.21/Windows 11 x64/Ryzen 7900X/32GB RAM/3 TB SSD
Synology DS1821+/DX517, 130.9TB+50.8TB+2TB SSD
-
- Beiträge: 6291
- Registriert: 29.08.2004 08:37
- Computerausstattung: Hoffentlich bald keine mehr
- Kontaktdaten:
Re: PackMemory() + Error Meldungen PB 6 oder Syntax Check (gelöst)
Das funktioniert aber nur mit AddPackMemory und UncompressPackMemory vermutlich und nicht mit CompressMemory und UncompressMemory. Aber vermutlich war das sowieso eher das Ziel.
Angenommen es gäbe einen Algorithmus mit imaginärer Laufzeit O(i * n), dann gilt O((i * n)^2) = O(-1 * n^2) d.h. wenn man diesen Algorithmus verschachtelt ist er fertig, bevor er angefangen hat.
- ChrigiGee
- Beiträge: 125
- Registriert: 18.07.2024 12:14
- Computerausstattung: Lenovo ThinkPad i7, 32GB Ram, 1TB SSD
PB 6.11 LTS, proGUI, IceDesigner - Wohnort: Bern
(OPEN) UnCompress File save as
Hallo Lieber jacdelad,
Ich habe mir das Gestern Nacht noch zu Gemüte geführt.
Habe ich auch versucht in meine etwas müdes Gehirn zu transferieren.
Wahrscheinlich hackte es an der Mitternächtlichen Zeit um die zusammenhänge zu verstehen.
Vielen Dank für Deine weiterführenden Erkenntnisse für mich.
Liebe Grüsse aus meinem Backofen in Bern
Christian
Ich habe mir das Gestern Nacht noch zu Gemüte geführt.
Habe ich auch versucht in meine etwas müdes Gehirn zu transferieren.
Wahrscheinlich hackte es an der Mitternächtlichen Zeit um die zusammenhänge zu verstehen.
Vielen Dank für Deine weiterführenden Erkenntnisse für mich.
Liebe Grüsse aus meinem Backofen in Bern
Christian
jacdelad hat geschrieben: 30.07.2024 05:29 Schau mal in die Hilfe: https://www.purebasic.com/german/docume ... ysize.html
PackEntrySize() funktioniert nur nach ExaminePack()/NextPackEntry()!
Wer nicht fragt, der nichts lernt.
Wer keine Fehler macht, kann sich nicht verbessern.
Das Mysterium, ein wandelndes Lexikon.
Wer Fragen zu meinem Textstil hat oder sich wundert über mich,
der darf seelenruhig mich direkt ansprechen. Ich beiße noch nicht.
Wer keine Fehler macht, kann sich nicht verbessern.
Das Mysterium, ein wandelndes Lexikon.

Wer Fragen zu meinem Textstil hat oder sich wundert über mich,
der darf seelenruhig mich direkt ansprechen. Ich beiße noch nicht.
- ChrigiGee
- Beiträge: 125
- Registriert: 18.07.2024 12:14
- Computerausstattung: Lenovo ThinkPad i7, 32GB Ram, 1TB SSD
PB 6.11 LTS, proGUI, IceDesigner - Wohnort: Bern
(OPEN) UnCompress File save as
Hallo DarkDragon,
Du meinst dass es von Vorteil wäre, vom PackMemory() resp. CompressMemory() auf eine andere Route zu wechseln.
Sprich dass ich das Vorhaben über AddPackMemory beginne resp. weiterführe zu UnPackMemory wo sich die Problematik von
Container Grösse Original zu, zu extrahierenden Container Vergleiche etwas einfacher umsetzen lassen, resp. die Umkehr Prozesse
vom Packen zum EntPacken eher einfacher aufgebaut werden könnten ?
Sorry, mein Hirn ist noch nicht ganz aufgewacht und ich Formulieren wieder mal Konstrukte welche schwer Verständlich sind wahrscheinlich.
Ich versuche mich in diese beiden Möglichkeiten mich Heute den Tag hindurch etwas einarbeiten zu können.
Vielleicht komme ich da besser zum Ziel.
Ich Danke Euch allen, für die Hilfe bis jetzt.
Liebe Grüsse aus Bern
Christian
Du meinst dass es von Vorteil wäre, vom PackMemory() resp. CompressMemory() auf eine andere Route zu wechseln.
Sprich dass ich das Vorhaben über AddPackMemory beginne resp. weiterführe zu UnPackMemory wo sich die Problematik von
Container Grösse Original zu, zu extrahierenden Container Vergleiche etwas einfacher umsetzen lassen, resp. die Umkehr Prozesse
vom Packen zum EntPacken eher einfacher aufgebaut werden könnten ?
Sorry, mein Hirn ist noch nicht ganz aufgewacht und ich Formulieren wieder mal Konstrukte welche schwer Verständlich sind wahrscheinlich.
Ich versuche mich in diese beiden Möglichkeiten mich Heute den Tag hindurch etwas einarbeiten zu können.
Vielleicht komme ich da besser zum Ziel.
Ich Danke Euch allen, für die Hilfe bis jetzt.
Liebe Grüsse aus Bern
Christian
DarkDragon hat geschrieben: 30.07.2024 06:33 Das funktioniert aber nur mit AddPackMemory und UncompressPackMemory vermutlich und nicht mit CompressMemory und UncompressMemory. Aber vermutlich war das sowieso eher das Ziel.
Wer nicht fragt, der nichts lernt.
Wer keine Fehler macht, kann sich nicht verbessern.
Das Mysterium, ein wandelndes Lexikon.
Wer Fragen zu meinem Textstil hat oder sich wundert über mich,
der darf seelenruhig mich direkt ansprechen. Ich beiße noch nicht.
Wer keine Fehler macht, kann sich nicht verbessern.
Das Mysterium, ein wandelndes Lexikon.

Wer Fragen zu meinem Textstil hat oder sich wundert über mich,
der darf seelenruhig mich direkt ansprechen. Ich beiße noch nicht.
-
- Beiträge: 6291
- Registriert: 29.08.2004 08:37
- Computerausstattung: Hoffentlich bald keine mehr
- Kontaktdaten:
Re: PackMemory() + Error Meldungen PB 6 oder Syntax Check (gelöst)
CompressMemory/Uncompressmemory ist dazu gedacht einen Speicherblock zu komprimieren. Um das packen würdest du dich kümmern, dann müsstest du die Originalgröße mit speichern. Z.B. wenn du mit einem Server kommunizierst bei dem man irgendein Protokoll einhalten muss oder wenn du dein eigenes Ding durchziehen willst.
AddPackMemory ist dazu gedacht eine Datei zu einem Archiv (zip, ...) hinzuzufügen. Diese Anforderung hab ich aus deinem Code gelesen, war mir davor nicht bekannt.
AddPackMemory ist dazu gedacht eine Datei zu einem Archiv (zip, ...) hinzuzufügen. Diese Anforderung hab ich aus deinem Code gelesen, war mir davor nicht bekannt.
Angenommen es gäbe einen Algorithmus mit imaginärer Laufzeit O(i * n), dann gilt O((i * n)^2) = O(-1 * n^2) d.h. wenn man diesen Algorithmus verschachtelt ist er fertig, bevor er angefangen hat.
- ChrigiGee
- Beiträge: 125
- Registriert: 18.07.2024 12:14
- Computerausstattung: Lenovo ThinkPad i7, 32GB Ram, 1TB SSD
PB 6.11 LTS, proGUI, IceDesigner - Wohnort: Bern
Re: PackMemory() + Error Meldungen PB 6 oder Syntax Check (gelöst)
Hallo DarkDragon,
Sorry, ich denke 7 Sachen und erklärte nicht das drum herum.
Es geht mir in etwa darum den Makro Rekorder den ich in einem anderen Post hervorgeholt habe aus der Versenkung
etwas auf zu arbeiten und erweitern.
https://www.purebasic.fr/german/viewtopic.php?t=30845
Sagen wir ich habe den Aufgenommenen Makro Teil und das möchte ich gerne so abspeichern, so
dass nicht gerade jeder weis was darin ist. Ich könnte jetzt sagen Text Datei im Speicher und end Datei
auf dem Datenträger wäre dann eine Verschlüsselte Datei.
Da ich jedoch nicht unbedingt ein eigenes Datei Format erstellen kann da mir die nötigen Kenntnisse Fehlen wollte
ich das ganze etwas vereinfachen.
Ich möchte in den weiteren Schritten, die Aufzeichnung der Mausschritte sowie der Keyboard Eingabe in ein File abspeichern
damit ich es immer wieder öffnen und wiedergeben kann.
Und vielleicht auch mögliche weitere Funktionen Integrieren.
Liebe Grüsse
Christian
Sorry, ich denke 7 Sachen und erklärte nicht das drum herum.
Es geht mir in etwa darum den Makro Rekorder den ich in einem anderen Post hervorgeholt habe aus der Versenkung
etwas auf zu arbeiten und erweitern.
https://www.purebasic.fr/german/viewtopic.php?t=30845
Sagen wir ich habe den Aufgenommenen Makro Teil und das möchte ich gerne so abspeichern, so
dass nicht gerade jeder weis was darin ist. Ich könnte jetzt sagen Text Datei im Speicher und end Datei
auf dem Datenträger wäre dann eine Verschlüsselte Datei.
Da ich jedoch nicht unbedingt ein eigenes Datei Format erstellen kann da mir die nötigen Kenntnisse Fehlen wollte
ich das ganze etwas vereinfachen.
Ich möchte in den weiteren Schritten, die Aufzeichnung der Mausschritte sowie der Keyboard Eingabe in ein File abspeichern
damit ich es immer wieder öffnen und wiedergeben kann.
Und vielleicht auch mögliche weitere Funktionen Integrieren.
Liebe Grüsse
Christian
Wer nicht fragt, der nichts lernt.
Wer keine Fehler macht, kann sich nicht verbessern.
Das Mysterium, ein wandelndes Lexikon.
Wer Fragen zu meinem Textstil hat oder sich wundert über mich,
der darf seelenruhig mich direkt ansprechen. Ich beiße noch nicht.
Wer keine Fehler macht, kann sich nicht verbessern.
Das Mysterium, ein wandelndes Lexikon.

Wer Fragen zu meinem Textstil hat oder sich wundert über mich,
der darf seelenruhig mich direkt ansprechen. Ich beiße noch nicht.
Re: PackMemory() + Error Meldungen PB 6 oder Syntax Check (gelöst)
Nimm dir doch die eingebaute Cipher - Library zur Hand.
Dort sind ja einige Verschlüsselungs-Methoden drin Ganz leicht zu benutzen ist z.b.
die Base64 - Verschlüsselung. Das bekommt man auch nicht ganz zu leicht geknackt.
Kannst ja mit einem zweiten anderen Algo (z.b. AES) nochmals verschlüsseln, wenn du möchtest.
Hast ja die Auswahl, ob nun mit oder ohne Paßwort.
Dort sind ja einige Verschlüsselungs-Methoden drin Ganz leicht zu benutzen ist z.b.
die Base64 - Verschlüsselung. Das bekommt man auch nicht ganz zu leicht geknackt.
Kannst ja mit einem zweiten anderen Algo (z.b. AES) nochmals verschlüsseln, wenn du möchtest.
Hast ja die Auswahl, ob nun mit oder ohne Paßwort.
PB 6.10
-
- Beiträge: 6291
- Registriert: 29.08.2004 08:37
- Computerausstattung: Hoffentlich bald keine mehr
- Kontaktdaten:
Re: PackMemory() + Error Meldungen PB 6 oder Syntax Check (gelöst)
Also die Packer library ist zum komprimieren da und bietet keine Verschlüsselungsmechanismen. Die Cipher library ist da schon richtiger, aber Base64 ist nur eine andere Darstellungsform (Kodierung), keine Verschlüsselung.
Für eine Verschlüsselung benötigt man einen Schlüssel. AES wäre hier naheliegend.
Für eine Verschlüsselung benötigt man einen Schlüssel. AES wäre hier naheliegend.
Angenommen es gäbe einen Algorithmus mit imaginärer Laufzeit O(i * n), dann gilt O((i * n)^2) = O(-1 * n^2) d.h. wenn man diesen Algorithmus verschachtelt ist er fertig, bevor er angefangen hat.
- ChrigiGee
- Beiträge: 125
- Registriert: 18.07.2024 12:14
- Computerausstattung: Lenovo ThinkPad i7, 32GB Ram, 1TB SSD
PB 6.11 LTS, proGUI, IceDesigner - Wohnort: Bern
zwischen Frage AES als Datei Container zu verwenden
Hallo DarkDragon,
Hallo @All
Das mittels AES als Datei Speicher wäre natürlich die Lösung.
https://www.purebasic.com/german/docume ... coder.html
Wenn ich mir die Vorlage bei PB Anschaue, brauche ich einen Key. (Schlüssel wie im Beispiel zu #PB_Cipher_ECB
https://www.purebasic.com/german/docume ... erkey.html
Alles darum ist OK, ich frage mich nun, wenn ich zu Faul bin, könnte ich den Schlüssel anhand der GUID Generieren.
GUID als HEX ausgeben habe ich auch gesehen, aber da der Key im Beispiel eine gewisse Formatierung voraussetzt,
kann ich nun den erstellten GUID HEX Wert nicht einfach so übernehmen.
Somit hätte ich nun aus der GUID einen HEX Schlüssel generiert.
Schaut jedoch komplett different aus zwischen
18 B6 E7 89 97 DE 0D FE 84 89 15 4B 57 A2 51 B2
und dem was im Source Beispiel aus AES-Encoder Steht:
$06, $a9, $21, $40, $36, $b8, $a1, $5b, $51, $2e, $03, $d5, $34, $12, $00, $06
Ich muss für die Vorlage diesen ja Formatieren. Kann ich das auch Automatisiert bewerkstelligen ?
Und ich habe bereits die Suche angeschmissen, aber HEX, Formatieren, GUID da spukt das Board
wilde Sachen aus und durch das ganze von A bis Z durchlesen wird etwas viel,
deswegen meine abgekürzte Form und Fragen.
Ja, ich habe natürlich geschaut wo ich den einen oder anderen Code verwenden und zusammen zu bringen.
Und mir ist auch bewusst dass meine Source jetzt auch nicht gerade den Schönheitswettbewerb gewinnt.
Langsam merke ich dass meine Konzentration nachlässt, und ich hoffe dass noch alles Verständlich ist.
Liebe Grüsse
Christian
PS: Hier also meine Vorläufige gebundene Arbeit, welche so noch nicht Funktioniert.
Hallo @All
Das mittels AES als Datei Speicher wäre natürlich die Lösung.
https://www.purebasic.com/german/docume ... coder.html
Wenn ich mir die Vorlage bei PB Anschaue, brauche ich einen Key. (Schlüssel wie im Beispiel zu #PB_Cipher_ECB
https://www.purebasic.com/german/docume ... erkey.html
Alles darum ist OK, ich frage mich nun, wenn ich zu Faul bin, könnte ich den Schlüssel anhand der GUID Generieren.
Code: Alles auswählen
EnableExplicit
Procedure.s MakeGUID()
Protected guid.GUID, lpsz.s{76}
If CoCreateGuid_(@guid) = #S_OK
ProcedureReturn PeekS(@lpsz, StringFromGUID2_(guid, @lpsz, 76), #PB_Unicode)
EndIf
EndProcedure
MessageRequester("","GUID: "+MakeGUID(),0)
kann ich nun den erstellten GUID HEX Wert nicht einfach so übernehmen.
Code: Alles auswählen
Structure HW_PROFILE_INFO
DockInfo.l
szHWProfileGUID.s{38}
EndStructure
GetCurrentHwProfile_(hwp.HW_PROFILE_INFO)
hwGUID.s = hwp\szHWProfileGUID
String$ = hwGUID
; Kodieren eines UTF-8 Strings
*Text = UTF8(String$)
Encoded$ = Base64Encoder(*Text, StringByteLength(String$, #PB_UTF8))
UseSHA3Fingerprint()
*Key = AllocateMemory(32)
; Erstellt einen 256-Bit-Schlüssel mithilfe der SHA-512-Hash-Funktion und 500.000 Iterationen
DeriveCipherKey(hwGUID, Encoded$, 500000, *Key, 256, #PB_Cipher_SHA3, 512)
; Zeigt den Schlüssel an
ShowMemoryViewer(*Key, 32)
Schaut jedoch komplett different aus zwischen
18 B6 E7 89 97 DE 0D FE 84 89 15 4B 57 A2 51 B2
und dem was im Source Beispiel aus AES-Encoder Steht:
$06, $a9, $21, $40, $36, $b8, $a1, $5b, $51, $2e, $03, $d5, $34, $12, $00, $06
Code: Alles auswählen
DataSection
Key:
Data.a $06, $a9, $21, $40, $36, $b8, $a1, $5b, $51, $2e, $03, $d5, $34, $12, $00, $06
EndDataSection
Und ich habe bereits die Suche angeschmissen, aber HEX, Formatieren, GUID da spukt das Board
wilde Sachen aus und durch das ganze von A bis Z durchlesen wird etwas viel,
deswegen meine abgekürzte Form und Fragen.
Ja, ich habe natürlich geschaut wo ich den einen oder anderen Code verwenden und zusammen zu bringen.
Und mir ist auch bewusst dass meine Source jetzt auch nicht gerade den Schönheitswettbewerb gewinnt.
Langsam merke ich dass meine Konzentration nachlässt, und ich hoffe dass noch alles Verständlich ist.
Liebe Grüsse
Christian
PS: Hier also meine Vorläufige gebundene Arbeit, welche so noch nicht Funktioniert.
Code: Alles auswählen
Structure HW_PROFILE_INFO
DockInfo.l
szHWProfileGUID.s{38}
EndStructure
GetCurrentHwProfile_(hwp.HW_PROFILE_INFO)
hwGUID.s = hwp\szHWProfileGUID
String$ = hwGUID
; Kodieren eines UTF-8 Strings
*Text = UTF8(String$)
Encoded$ = Base64Encoder(*Text, StringByteLength(String$, #PB_UTF8))
UseSHA3Fingerprint()
*Key = AllocateMemory(32)
; Erstellt einen 256-Bit-Schlüssel mithilfe der SHA-512-Hash-Funktion und 500.000 Iterationen
DeriveCipherKey(hwGUID, Encoded$, 500000, *Key, 256, #PB_Cipher_SHA3, 512)
String$ = "Hello this is a test for AES"
*CipheredString = AllocateMemory(StringByteLength(String$) + SizeOf(Character)) ; Platz für den null-terminierten String
*DecipheredString = AllocateMemory(StringByteLength(String$) + SizeOf(Character)) ; mit seiner abschließenden Null
If AESEncoder(@String$, *CipheredString, MemorySize(*CipheredString), ?Key, 128, 0, #PB_Cipher_ECB)
Debug "Ciphered: " + PeekS(*CipheredString)
AESDecoder(*CipheredString, *DecipheredString, MemorySize(*DecipheredString), ?Key, 128, 0, #PB_Cipher_ECB)
Debug "Deciphered: " + PeekS(*DecipheredString)
EndIf
DataSection
Key:
Data.a *Key
; Data.a 18 B6 E7 89 97 DE 0D FE 84 89 15 4B 57 A2 51 B2
; Data.a $06, $a9, $21, $40, $36, $b8, $a1, $5b, $51, $2e, $03, $d5, $34, $12, $00, $06
EndDataSection
Wer nicht fragt, der nichts lernt.
Wer keine Fehler macht, kann sich nicht verbessern.
Das Mysterium, ein wandelndes Lexikon.
Wer Fragen zu meinem Textstil hat oder sich wundert über mich,
der darf seelenruhig mich direkt ansprechen. Ich beiße noch nicht.
Wer keine Fehler macht, kann sich nicht verbessern.
Das Mysterium, ein wandelndes Lexikon.

Wer Fragen zu meinem Textstil hat oder sich wundert über mich,
der darf seelenruhig mich direkt ansprechen. Ich beiße noch nicht.
Re: zwischen Frage AES als Datei Container zu verwenden
Der Key selbst setzte keine Formatierung voraus. Der Key im Beispiel ist 16 Byte lang, ob du die als einzelne Byte im Code hinterlegst, oder 4 Longs benutzt, oder einen Speicherbereich mit der Größe 16 Byte ist unerheblich. Du kannst auch einen größeren Speicherbereich benutzen und die Adresse entsprechend verschieben, usw...ChrigiGee hat geschrieben: 30.07.2024 22:57 aber da der Key im Beispiel eine gewisse Formatierung voraussetzt
Vielleicht wäre es besser, nicht alles in einen Thread zu schreiben. Wer das später mal liest blickt hier gar nicht mehr durch.
Guten Morgen, das ist ein schöner Tnetennba!
PureBasic 6.21/Windows 11 x64/Ryzen 7900X/32GB RAM/3 TB SSD
Synology DS1821+/DX517, 130.9TB+50.8TB+2TB SSD
PureBasic 6.21/Windows 11 x64/Ryzen 7900X/32GB RAM/3 TB SSD
Synology DS1821+/DX517, 130.9TB+50.8TB+2TB SSD