Dateibetrachter
-
- Beiträge: 68
- Registriert: 26.10.2008 09:21
- Computerausstattung: P4, 2600, 1,5GB Ram, XP SP3
- Wohnort: Wien
Dateibetrachter
Guten Abend
Der Dateibetrachter öffnet alle möglichen Dateien
und zeigt sie auch an.
Von was ist es abhängig, das er eine Datei als HEX-Dump
anzeigt. Eine Datei mit der Endung *.db zeigt er als HEX-Dump an.
Erzeuge ich selbst eine Datei mit nicht Darstellbaren Zeichen
(zB $80 $20 $02 $FF) so zeigt er sie mir als Text an.
Das kann man natürlich nicht lesen.
Habe auch verschidene Endungen getestet. *.txt; *.abc; *.db
Leider ohne Erfolg!
Kann man dem Dateibetrachter zur Anzeige eines HEX Dumps zwingen?
Der Dateibetrachter öffnet alle möglichen Dateien
und zeigt sie auch an.
Von was ist es abhängig, das er eine Datei als HEX-Dump
anzeigt. Eine Datei mit der Endung *.db zeigt er als HEX-Dump an.
Erzeuge ich selbst eine Datei mit nicht Darstellbaren Zeichen
(zB $80 $20 $02 $FF) so zeigt er sie mir als Text an.
Das kann man natürlich nicht lesen.
Habe auch verschidene Endungen getestet. *.txt; *.abc; *.db
Leider ohne Erfolg!
Kann man dem Dateibetrachter zur Anzeige eines HEX Dumps zwingen?
-
- Beiträge: 68
- Registriert: 26.10.2008 09:21
- Computerausstattung: P4, 2600, 1,5GB Ram, XP SP3
- Wohnort: Wien
Hallo
Habe folgenden Code:
Er öffnet eine Datei und schreibt die paar Zeichen hinein. Alles OK
Ändere ich in der Mitte einen Hex Wert auf $00, dann fehlen
alle folgenden Zeichen in der Datei.
Was mache ich jetzt schon wieder falsch ?
Das ist auch der Grund, für meine vorige Frage! Brauche eine
Ansicht des Hex Dumps einer Datei.
Danke an alle
( Habe hier PB 4.20 und XP)
Habe folgenden Code:
Code: Alles auswählen
OpenFile(0,"C:\Test.db")
WriteString(0, Chr($80)+Chr($20)+Chr($01)+Chr($25)+Chr($FF)+Chr($01)+Chr($12))
CloseFile(0)
Ändere ich in der Mitte einen Hex Wert auf $00, dann fehlen
alle folgenden Zeichen in der Datei.
Was mache ich jetzt schon wieder falsch ?
Das ist auch der Grund, für meine vorige Frage! Brauche eine
Ansicht des Hex Dumps einer Datei.
Danke an alle
( Habe hier PB 4.20 und XP)
- HeX0R
- Beiträge: 3042
- Registriert: 10.09.2004 09:59
- Computerausstattung: AMD Ryzen 7 5800X
96Gig Ram
NVIDIA GEFORCE RTX 3060TI/8Gig
Win11 64Bit
G19 Tastatur
2x 24" + 1x27" Monitore
Glorious O Wireless Maus
PB 3.x-PB 6.x
Oculus Quest 2 + 3 - Kontaktdaten:
Wenn du Nullbytes schreiben willst, musst du das per WriteData machen.
Ein Nullbyte signalisiert das Ende eines Strings.
Wenn du nun per Writestring() irgendwo in der Mitte ein Chr(0), also ein Nullbyte, reinfummelst, sieht die Procedure Writestring() dein tatsächliches Ende des Strings nicht mehr.
Ein Nullbyte signalisiert das Ende eines Strings.
Wenn du nun per Writestring() irgendwo in der Mitte ein Chr(0), also ein Nullbyte, reinfummelst, sieht die Procedure Writestring() dein tatsächliches Ende des Strings nicht mehr.
{Home}.:|:.{Codes}.:|:.{Downloads}.:|:.{History Viewer Online}.:|:.{Bier spendieren}
-
- Beiträge: 68
- Registriert: 26.10.2008 09:21
- Computerausstattung: P4, 2600, 1,5GB Ram, XP SP3
- Wohnort: Wien
HeXOR
Habe es getestet mit folgenden Code aus der Hilfe:
Leider ist auch hier nach dem Ersten Chr($00) Schluss.
Alle Zeichen nach dem Ersten gewollten 00 sind auch 00.
Oder habe ich etwas falsch gemacht?
lg Walter
Habe es getestet mit folgenden Code aus der Hilfe:
Code: Alles auswählen
*MemoryID = AllocateMemory(1000) ; reservieren eines Speicherblocks
If *MemoryID
PokeS(*MemoryID, Chr($80)+Chr($20)+Chr($00)+Chr($25)+Chr($FF)+Chr($01)+Chr($12)) ; wir schreiben einen String in den Speicherblock
EndIf
If CreateFile(0, "C:\Test.db") ; wir erstellen eine neue Text-Datei...
WriteData(0, *MemoryID, 10) ; die ersten 10 Zeichen des Speicherblocks in die Datei schreiben
CloseFile(0) ; die zuvor geöffnete Datei schließen und damit die geschriebenen Daten endgültig speichern
Else
Debug "Konnte die Datei nicht erstellen!"
EndIf
Alle Zeichen nach dem Ersten gewollten 00 sind auch 00.
Oder habe ich etwas falsch gemacht?
lg Walter
-
- Beiträge: 17389
- Registriert: 10.11.2004 03:22
wie HeXOR sagte, eine NULL beendet einen String.
also, wenn du an eine Stringfunktion eine bytefolge übergibst, die mittendrin eine NULL hat,
dann wird die Stringfunktion völlig folgerichtig an dieser Stelle die Verarbeitung beenden.
ob diese Stringfunktion auf die Platte oder in den Speicher schreibt,
oder die Länge misst oder einen Teil sucht ist dabei unerheblich.
also, wenn du an eine Stringfunktion eine bytefolge übergibst, die mittendrin eine NULL hat,
dann wird die Stringfunktion völlig folgerichtig an dieser Stelle die Verarbeitung beenden.
ob diese Stringfunktion auf die Platte oder in den Speicher schreibt,
oder die Länge misst oder einen Teil sucht ist dabei unerheblich.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Der Weise weiß, dass er ein Narr ist.
- HeX0R
- Beiträge: 3042
- Registriert: 10.09.2004 09:59
- Computerausstattung: AMD Ryzen 7 5800X
96Gig Ram
NVIDIA GEFORCE RTX 3060TI/8Gig
Win11 64Bit
G19 Tastatur
2x 24" + 1x27" Monitore
Glorious O Wireless Maus
PB 3.x-PB 6.x
Oculus Quest 2 + 3 - Kontaktdaten:
Entweder mit PokeB(), PokeW(), ...
oder in der Art:
oder in der Art:
Code: Alles auswählen
If CreateFile(0, "C:\Test.db")
WriteData(0, ?StartHere, ?StopHere - ?StartHere)
CloseFile(0)
EndIf
End
DataSection
StartHere:
Data.b $80, $20, $00, $25, $FF, $01, $12
StopHere:
EndDataSection
{Home}.:|:.{Codes}.:|:.{Downloads}.:|:.{History Viewer Online}.:|:.{Bier spendieren}
-
- Beiträge: 68
- Registriert: 26.10.2008 09:21
- Computerausstattung: P4, 2600, 1,5GB Ram, XP SP3
- Wohnort: Wien
Hallo
Ja, das ist es.
Ähhh aber das mit dem
verstehe ich nicht.
Falls es nicht zuviel verlangt ist, könntest Du Bitte das eine
oder andere Wort noch dazu spenden.
Vielen Dank Walter
Ja, das ist es.
Ähhh aber das mit dem
Code: Alles auswählen
?StartHere, ?StopHere - ?StartHere
Falls es nicht zuviel verlangt ist, könntest Du Bitte das eine
oder andere Wort noch dazu spenden.
Vielen Dank Walter
- HeX0R
- Beiträge: 3042
- Registriert: 10.09.2004 09:59
- Computerausstattung: AMD Ryzen 7 5800X
96Gig Ram
NVIDIA GEFORCE RTX 3060TI/8Gig
Win11 64Bit
G19 Tastatur
2x 24" + 1x27" Monitore
Glorious O Wireless Maus
PB 3.x-PB 6.x
Oculus Quest 2 + 3 - Kontaktdaten:
Schau mal hier, den letzten Abschnitt an.
(Das selbe steht auch in deiner Hilfe)
(Das selbe steht auch in deiner Hilfe)
{Home}.:|:.{Codes}.:|:.{Downloads}.:|:.{History Viewer Online}.:|:.{Bier spendieren}