Come impacchettare un'applicazione ASP.NET per impedire ai clienti di modificarla?

StackOverflow https://stackoverflow.com/questions/1216897

  •  06-07-2019
  •  | 
  •  

Domanda

Esiste uno strumento o un approccio generale per impacchettare tutti i file di un'applicazione ASP.NET in forma binaria per impedire la modifica una volta distribuita? Sto pensando che ci sarebbe una serie di file binari firmati e un file di configurazione per le impostazioni che consentiamo al cliente di modificare. Qualcuno ha tentato questo, è persino possibile?

Pagherei un importo ragionevole per un prodotto commerciale elegante che lo ha fatto con il minimo fastidio.

Aggiorna

Mi dispiace, dalle risposte vedo che non ero chiaro. Intendevo letteralmente impacchettare TUTTI i file, non solo i file di codice. Ciò significa aspx, script, immagini, ecc. Non sto cercando di impedire il reverse engineering ... questo è un problema di supporto, vale a dire per evitare di affrontare i problemi causati dalla confusione dei file con i clienti.

Nessuna soluzione corretta

Altri suggerimenti

Se hai realizzato un progetto di applicazione web, allora puoi compilare il tuo codice in un singolo file dll. Puoi trovarlo nella cartella bin.

Basta usare aspnet_compiler.exe per precompilare tutto e quindi usare aspnet_merge.exe per raggruppare tutti gli assembly compilati in un singolo assembly. È possibile utilizzare uno strumento di offuscamento come DotFuscator se si desidera rendere più difficile il reverse engineering. Visual Studio pro e versioni successive includono un "lite" edizione di Dotfuscator che puoi usare per questo.

I tuoi file codebehind saranno compilati in una singola dll come già accennato da ZippyV. I file aspx verranno distribuiti normalmente sul server web.

Ma comunque, i tuoi file dll possono essere smontati abbastanza facilmente. Quindi, per essere sicuro, devi usare un offuscatore.

Se intendi TUTTI i file incluso aspx potresti anche considerare ngen. Precompila tutto in una dll in modo da non poter nemmeno arrivare alle pagine aspx.

Anche se ngen è stato progettato per sbarazzarsi della funzione di compilazione JIT del framework e non è sicuramente un approccio generalmente raccomandato, ma potrebbe funzionare bene nel tuo caso.

Da VS2008 selezionare l'opzione di menu " Strumenti " e poi "Dotfuscator Community Edition". Avrai un " Ulteriori informazioni " link dopo l'avvio.

Firmo anche il mio usando SN.exe per fare in modo che abbia un nome sicuro. Dato tutto ciò, penso che sia abbastanza complicato capire un sistema se ti viene dato il codice sorgente e aiuto .... quindi non me ne preoccupo più.

forse Dotfuscator il tuo cliente non potrà modificarlo né decodificarlo :)

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