Due domande di offuscamento correlati:F # MSIL offuscamento
1) C'è qualche strumento che può smontare F # torna alla sua forma sorgente, o qualcosa di simile ad esso, dalla forma bersaglio MSIL? Questo non è un tentativo di sicurezza attraverso l'oscurità, ma voglio proteggere qualche codice sorgente dal "furto".
2) Ho guardato brevemente qualche output del compilatore F # e in generale sembra piuttosto incomprensibile rispetto a quello che si ottiene se si disassembla il codice compilato C#, presumibilmente perché C# è più vicino alla rappresentazione intermedia MSIL. L'unico codice in parte deformato che ho visto dal compilatore C# è iteratori (e presumibilmente asincrona di C# 5.0).
Finora la mia impressione è che il codice compilato F # sia ragionevolmente "offuscato" ma è vero? (Mi rendo conto che questa è una domanda un po 'soggettiva.)
Quanto sono bravi i tuoi avversari? Qualsiasi analista di malware competente può invertire il codice da un dump della memoria, non importa se IL. Da chi stai "proteggendo" la tua fonte? –
Potenziale concorrente. Lo trovo improbabile ma meglio al sicuro che dispiaciuto. Semplicemente non voglio che il codice sia facilmente de-offuscabile con gli strumenti giusti. Dovrebbe essere abbastanza difficile che sia più facile scrivere il codice da solo. Non penso che gli analisti di malware siano nell'intervallo di destinazione. Più simile a qualcuno con una comprensione di livello intermedio di F #. :-) –
Non direi che è offuscato. È appena tradotto Tutto lo zuccheraggio F # è annullato. Inoltre, se decompilalo, è abbastanza ovvio che provenga da F #, e qualsiasi persona con esperienza F #/C# semi-esperta può ri-sintetizzare il F # dalla versione decompilata. Ci sono schemi che si verificano e tutto quello che devi fare è creare alcuni scenari di test per vedere cosa fa il decompilatore e puoi vedere come sono state risolte le cose. – devshorts