Autor Beitrag
Eddy14
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 26



BeitragVerfasst: Fr 09.11.07 18:23 
Hallo Leute,
Sorry, ein besserer Titel ist mir nicht eingefallen :(
Also, ich beschäftige mich seit geraumer Zeit mit dem PE Format, somit auch mit Binär Dateien :)
Nun hab ich mir schon eine Funktion schreiben können welches mir bestimmte Stellen einer Exe Datei auslesen und als Hex-Wert zurück geben kann.

Aber ich scheitere nun daran Daten _schreiben_ zu können.
Beim lesen hab ich ganz normal Read benutzt, beim Schreiben wäre wohl Blockwrite empfehlenswerter? Wenn ja, was genau muss ich machen damit der nicht beim Schreiben die Daten einfach nur "reinschiebt", sondern das bereits vorhandene überschreibt? Also:
Zitat:
ABCDEFGH

Wenn ich dann "KKKK" reinschreibe soll es:
Zitat:
KKKKEFGH

ergeben.
Kann mir da einer helfen? Brauch ich einen bestimmten FileMode ? Gibts vielleicht einen Befehl ala Delete() damit ich vorher den Inhalt löschen, und dann mit Write es reinschieben kann? Wäre ja im Endeffekt dann mein gewünschtes "Überschreiben".

Ich hoffe ihr könnt mir bei diesem Problem helfen :)

//edit:
Ich glaub ich habe meine Lösung gefunden. FileOpen, FileSeek, FileWrite etc. :) Damit funktionierts super :)
Falls noch jemand was hinzuzufügen hat, immer gerne :)
Yogu
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2598
Erhaltene Danke: 156

Ubuntu 13.04, Win 7
C# (VS 2013)
BeitragVerfasst: Mo 19.11.07 19:48 
Kannste mal die Funktionen posten? Ich sitze gerade auch vor dem Problem, Binärdateien zu laden und zu speichern. Wäre echt nett, wenn ich diese Funktionen übernehmen könnte.
TProgger
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 148

XP
D6, D2007 prof
BeitragVerfasst: Mo 19.11.07 20:17 
Man könnte auch File of Byte nutzen, alles in ein Array of Byte (natürlich entspr. der Filesize dimensionieren mit SetLength) und dann kann man gezielt einzelne Bytes ändern und das ganze wieder speichern. So hab ich das vor Jahren mal gemacht. (war ein kleiner Hex-Editor)

_________________
Wir haben für jede Lösung das richtige Problem ;)
Heiko
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 3169
Erhaltene Danke: 11



BeitragVerfasst: Mo 19.11.07 20:37 
Ich nutze standardmäßig FileStreams. Da ist dein gewünschtes Verhalten standard :nixweiss: . Ich empfehle dir aber, den Stream hier zu nehmen, falls du nur etwas zum lesen etc. brauchst, denn der kann auch UniCode ;).