2010-01-20 19 views
5

È necessario fornire un CRC a 32 bit (controllo di ridondanza ciclico) di tutti gli assiemi, che viene memorizzato (a scopo di controllo release) e può quindi essere confrontato con gli assiemi presenti su un sistema in una data successiva (in per verificare che il rilascio non sia stato corrotto in qualche modo).Gli assembly .NET cambiano mai?

non ho alcun problema il calcolo del CRC delle assemblee stesse, la mia domanda è questa:

Non assembly .NET mai cambiare? Cioè Il reale contenuto binario dell'assieme cambia mai (per qualsiasi motivo) dopo che è stato installato sul sistema di destinazione? Se lo fa, anche il CRC cambierebbe.

Nota, Mi riferisco solo agli assembly che sono stati confezionati con il mio software, non con gli assembly di sistema standard, quelli non sono controllati.

Acclamazioni

+0

Non è questo il motivo per cui firmare le tue assemblee? – Svish

+0

È più dovuto all'approccio della mia azienda alla gestione del rilascio che a qualsiasi altra cosa. La cosa CRC deriva da un passato di sviluppo principalmente incorporato e questo processo viene applicato su qualsiasi lavoro di sviluppo di Windows. – Kazar

risposta

6

Stai reinventando una ruota, già la forte denominazione lo fa. Manomettere un assembly in modo che abbia il CRC32 giusto è piuttosto semplice. Rompere un nome forte non lo è, è crittograficamente sicuro.

+0

Sì, .NET ha già un meccanismo integrato per gestire i tuoi requisiti che dovresti assolutamente preferire con un metodo personalizzato. –

+0

Grazie per la raccomandazione alternativa, e hai ragione, è un approccio preferenziale, tuttavia, questa è la politica aziendale dettata da ingegneri più anziani di me. Non molto posso fare davvero. – Kazar

4

Se non si aggiornano i gruppi (li sovrascrive), non potranno mai cambiare.

+0

Oppure gli assemblaggi possono essere nuovamente firmati –

-1

Ricordo di aver letto da qualche parte che lo ottimizzatore .net cerca e passa attraverso tutti gli assembly per "ottimizzarli"? ho sentito farlo dopo un'installazione - non l'ho mai guardato io stesso - id immagino che probabilmente non cambino ma non sono sicuro che se qualcosa è davvero in grado di garantire

provalo e guarda! buona fortuna

+3

Stai parlando di Ngen.exe. Crea un altro file. –

0

Dovrebbero cambiare solo durante l'installazione o l'aggiornamento, a meno che un programmatore non abbia incluso qualche brutto attacco nel suo programma. Ma se sei in dubbio, perché non revochi i diritti utente per scrivere o modificare i file corrispondenti?

Problemi correlati