Una settimana fa mi sono trovato in una situazione in cui dovevo leggere un oggetto serializzato binario creato da un'altra applicazione fatta da qualcun altro. Avevo solo il file someSerializedData.bin, quindi ho provato a ricreare manualmente la definizione della classe per l'oggetto sconosciuto e sono riuscito a farlo, a causa dei metadati nel file serializzato. Stranamente, non ho trovato nessuno strumento su google.Metadati di serializzazione binaria .NET
Q1: Perché non esiste uno strumento che ricrea la definizione della classe da un file/dati serializzati in formato binario?
e porta alla mia seconda domanda
Q2: C'è questo caso, quando è impossibile ripristinare la definizione di classe dai dati serializzati? (Supponendo che non sia crittografato o offuscato in alcun modo, mi interessano i casi che riguardano le proprietà "predefinite" .NET Binaryserializer, per disabilitare le informazioni sul tipo ei metadati inclusi)
Si prega di non limitarsi a downvotare, dimmi cosa c'è che non va, quindi posso migliorare la domanda. –
penso che quello che stai cercando si chiami riflesso (prendendo il codice macchina e lo si inverta in C#) ho ragione? – Liran
Hai una copia dell'app che ha creato il file .bin? Se è così, puoi decompilarlo e osservare il codice. Vedi dotPeak: http://www.jetbrains.com/decompiler/ – dana