Domanda

Come offuscare le classi proxy wcf usando Dotfusciator? Ho scaricato Dotfuskator Pro Edition Trial Dal tuo sito web.Ho offuscato il mio file App.exe, tutto era ben offuscato ma le classi proxy WCF non lo erano.(Iilsamed the exe).

Le classi proxy del WCF stanno dando via la struttura della mia applicazione. C'è un'impostazione che mi manca nell'applicazione Dotfuscator?

C'è un modo migliore per nascondere le classi del proxy del servizio WCF?

È stato utile?

Soluzione

Un modo o un altro, WCF deve essere in grado di associare elementi nel contratto di dati del servizio alle classi proxy del tuo cliente. Di solito c'è poco valore nell'osservazione delle classi proxy e dei loro membri, ma se si desidera offuscareli, è possibile impostare esplicitamente il nome dei tipi e dei loro membri utilizzando il parametro Name degli Attributi [DataContract] o [DataMember] (ad esempio [DataMember Name="ID"]). Una volta effettuato questo, puoi disabilitare il regolamento "Tipi e campi contrassegnati come serializzabile" dalla scheda Rinomina -> Regole integrata e assicurati che "Compatibilità con SERIALIZER XML" sia selezionata in Rinomina -> Opzioni scheda. L'avvertimento a questo approccio è che i nomi delle proprietà serializzati sono ancora inclusi nel codice (negli attributi), e vengono ancora inviati sul filo.

Se si richiede più protezione e hai il controllo sia del servizio che del cliente, è possibile che un'opzione migliore ma più ingombrante potrebbe essere quella di mettere il tuo contratto di servizio nel proprio assemblaggio e elaborare che con Dotfusciator. Ancora una volta, disabilita il regolamento "Tipi e campi contrassegnati come serializzabile" dalla scheda Rinomina -> Regole integrata e assicurarsi che "Compatibilità con SERIALIZER XML" sia selezionata nella scheda Rinomina -> Opzioni. Ora fai riferimento alla DLL del contratto di servizio risultante dal tuo servizio che sul tuo applicazione client. Il compromesso con questo approccio è che i membri del contratto avranno tutti nomi offuscati (ad esempio "A") e dovrai rivolgerli come tali nel tuo servizio e del codice dell'applicazione client. Puoi esaminare il file della mappa Dotfuscator produce al fine di dare un senso ai nomi ribattezzati.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top