| 

.NET C# Java Javascript Exception

1
Ich muss in einem serialisierten Objekt/Datei eine Abhängigkeit ändern. Die Abhängigkeit ist ein Assembly welches mom. nicht signiert ist und durch eine signierte Version ausgetauscht werden soll.

Nun habe ich per Hexedit versucht die Abhängigkeit anzupassen.
Bei kleinen Änderungen (Größe der Datei ändert sich nicht) funktioniert dies. Leider korrumpiert die Datei wenn auch die Größe sich ändert.

Wie baut der Serializer die Daten auf?

Danke.
21.06.2011
smartic 510 1 8
2 Antworten
1
Wenn ich es richtig verstanden habe, so ist das Format hier offiziell dokumentiert.

Möglicherweise nützt Dir aber schon

binaryFormatter.AssemblyFormat = FormatterAssemblyStyle.Simple;

Damit prüft er laut Doku nur noch auf den Assembly-Namen, nicht mehr auf die exakte Version.
21.06.2011
Matthias Hlawatsch 13,2k 4 9
mhh, all zu wild sieht ein binarserialisiertes Objekt nicht aus. z.B. konnte ich für kleine Teile eine Längenangabe identifizieren. Nur wird es irgendwo noch mehr Zusammenhänge geben die ich so ohne weiteres nicht identifizieren kann.
smartic 21.06.2011
Ich habe einen Link auf eine MSDN-Seite gefunden, die das Format zu dokumentieren scheint. Siehe meine editierte Antwort. 50 Seiten Spec...
Mit FormatterAssemblyStyle.Simple kannst Du das Problem nicht lösen?
Matthias Hlawatsch 22.06.2011
@Matthias, scheint ein Dokument zu sein welches gesucht beschreibt. Muss aber erst ein paar Test durchführen. :-)

Im Dokument wird bereits aus einer Binär-Datei Informationen extrahiert und schön aufbereitet.

Meint ihr das solch ein Tool oder Code-Schnippsel bereits gibt?
smartic 28.06.2011
0
Wenn du beide Versionen hast, dann würde ich versuchen einen Converter zu schreiben.
Zum Beispiel dekodieren, als XML speichern, bearbeiten, kodieren.
21.06.2011
woni 170 1 4

Stelle deine .net-Frage jetzt!