2009-02-22 30 views
8

Ho una soluzione VS.NET 2008 che contiene un progetto di installazione. Questo Setup Project prende in output il mio altro progetto (nella stessa soluzione) e produce un MSI. Fin qui, tutto bene ... Vorrei che gli assemblaggi inclusi nel MSI venissero offuscati. Questa stessa offuscazione è semplice, ma come posso introdurre questo pre-passaggio (offuscamento) all'edificio MSI? Qualcuno ha un'idea?Obfuscating assembly prima che vengano integrati nell'MSI

Grazie!

risposta

1

Utilizzare uno strumento di compilazione come Finalbuilder per automatizzare questo processo.

Ad esempio, creare gli assembly, quindi offuscarli e infine creare il progetto di installazione.

-1

Considererei WiX o qualcosa di simile (qualche altro strumento di creazione) per creare il file MSI. È possibile utilizzare gli strumenti di Windows per decompilare l'MSI, quindi offuscare e reinserirli nell'MSI.

Un'altra opzione è aggiungere uno strumento di offuscamento al processo di compilazione. Ho fatto questo post costruire con CodeVeil. Se riesci a dirottarlo nei passaggi Post Build di tutti i progetti, senza il progetto di installazione (che è stato creato per ultimo), dovresti riuscire a farlo. Non avendo lavorato molto con il progetto di installazione, non sono sicuro che funzionerà, ma non vedo alcun motivo per cui non dovrebbe funzionare.

1

Se si utilizza Dotfuscator Professional, è possibile ottenerlo facilmente poiché viene fornito con un progetto di Visual Studio che viene aggiunto al sistema al momento dell'installazione.

Tutto ciò che devi fare è aggiungere un nuovo progetto Dotfuscator alla tua soluzione, aggiungere gli output dei tuoi altri progetti come input al progetto Dotfuscator (usando la funzionalità Aggiungi assieme/Aggiungi progetto di uscita), imposta le necessarie impostazioni di occultamento e quindi modificare l'input per il progetto di installazione in modo che sia il progetto Dotfuscator. Quando ora costruisci la tua soluzione, i tuoi file di codice vengono compilati e poi offuscati e poi trasferiti nel progetto di installazione da incorporare nell'MSI.

0

L'obfuscator deve supportare l'integrazione di MSBuild affinché funzioni, in modo che l'output di compilazione del compilatore possa essere offuscato e trasmesso al progetto MSI come input.

Crypto Obfuscator è uno di questi strumenti che supporta questo tipo di scenario.

0

Eazfuscator.NET è stato progettato specificamente per gestire tale scenario. Per offuscare gli assembly prima di andare a MSI, basta procedere come segue:

  1. cadere il vostro progetto di montaggio (s) nella zona verde di Eazfuscator.NET Assistant Drag and drop the project from Visual Studio to Eazfuscator.NET Assistant
  2. Si è fatto. Gli assembly vengono ora automaticamente offuscati e raggruppati nel pacchetto MSI ogni volta che la soluzione viene creata nella configurazione Release.

Alcuni altri obfuscator gestiscono anche questo. Ad esempio, Dotfuscator fornisce il tipo di progetto di offuscamento per Visual Studio in cui è possibile definire input e output e quindi formare una pipeline di build. La pipeline può ottenere l'output di un progetto di assemblaggio, offuscarlo e passarlo al progetto di installazione.

Problemi correlati