8 messaggi dal 13 settembre 2008
Ciao,
ho una serie di classi (.vb) nella cartella App_Code del mio sito (in locale).
Devo copiare il tutto nel server dell'azienda in cui lavoro e non voglio che possano leggere il codice.
Sto cercando di compilare le classi con VS 2010 (Compila --> Compila sito web).
Sembra funzionare tutto bene: zero errori, qualche avviso e alla fine scrive:

Compilazione: 1 completate o aggiornate, 0 non riuscite 0 ignorate

Il problema è che ho ancora le mie classi vb dentro App_Code e nulla nella cartella bin.



Per favore, potete spiegarmi cosa sbaglio?

Il mio obiettivo è ofuscare il codice


Grazie
Modificato da ubimaior il 06 gennaio 2012 09.19 -
11.886 messaggi dal 09 febbraio 2002
Contributi
ciao,

ubimaior ha scritto:

Il problema è che ho ancora le mie classi vb dentro App_Code e nulla nella cartella bin.

E' normale che succeda questo perché la cartella che contiene il sito NON è la cartella usata dal compilatore per l'output dei file. Gli assembly vengono posti da un'altra parte, dentro C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files, ma non andare a cercare qui perché è un caos. Se vuoi approfondire questo fatto, leggi qui:
http://msdn.microsoft.com/en-us/library/ms366723.aspx

Bisogna fare in altro modo: clicca il menu Compila -> PUBBLICA sito web e ti apparirà questa finestra che ti consentirà di decidere la cartella in cui copiare i file compilati. La "cartella" può trovarsi anche in una destinazione remota, quindi se hai un accesso FTP col server puoi direttamente usare questo sistema per mettere il sito in produzione.

Nella finestra trovi la spunta "Consenti aggiornamento del sito precompilato". Se la spunti, verrà compilato soltanto il codefile delle pagine aspx mentre il loro markup resterà in chiaro, consentendo di apportare piccole modifiche anche a pubblicazione avvenuta. Se togli la spunta, invece, il file .aspx verrà svuotato del suo contenuto e compilato anch'esso.

ubimaior ha scritto:

Il mio obiettivo è ofuscare il codice

Così facendo, tuttavia, NON offuschi il codice e, con un po' di pazienza, chiunque potrebbe recuperarlo dagli assembly .dll aprendoli con un reflector tipo ILSpy o JustDecompile.
Per "offuscare" si intende un'altra pratica, quella scombussolare il codice compilato (ad esempio rendendo casuali i nomi di variabili e metodi) al fine di confondere le idee all'operatore umano.
Esistono dei tool per questo scopo, ce ne sono alcuni gratuiti e altri a pagamento e ciascuno vanta varie caratteristiche che renderanno la vita difficile a chi voglia decompilare il codice. Cerca ".NET Obfuscator".

ubimaior ha scritto:

Devo copiare il tutto nel server dell'azienda in cui lavoro e non voglio che possano leggere il codice.

Ma... se sei un impiegato, credo che sia il sito che il suo codice sorgente appartengano all'azienda :/

ciao
Modificato da BrightSoul il 06 gennaio 2012 16.19 -

Enjoy learning and just keep making
8 messaggi dal 13 settembre 2008
Ciao e grazie per l'aiuto.

Sono un impiegato, è vero, ma non del settore IT.

Il programma l'ho creato a casa, nel mio empo libero per ridurmi il lavoro.
E' piaciuto all'azienda e lo ha implementato.
Voglio ofuscare il codice in modo da essere il manutentore unico e per mettere un algoritmo di scadenza che solo io posso modificare.
Ergo, visti i tempi (devono licenziare 10 persone), vorrei avere qualche carta in più.

O, quantomeno, se mi lasciano a casa il software non funziona più e pagano un programmatore per rifarlo (io non sono stato pagato per questo lavoro extra).
Ciao
8 messaggi dal 13 settembre 2008
Ora sono riuscito a compilare.

Altra domanda:
mi sembra di capire che devo ofuscare il codice compilato e no quello originale, giusto?

In caso di modifiche
1) apporto le modifiche al progetto originale
2) compilo
3)ofusco di nuovo il sito copiato con la funzione "pubblica"

grazie
11.886 messaggi dal 09 febbraio 2002
Contributi
ubimaior ha scritto:
Altra domanda:
mi sembra di capire che devo ofuscare il codice compilato e no quello originale, giusto?


sì, esatto, sono gli assembly (i file .dll) quelli che vanno offuscati. Non avevo considerato che per un sito web potrebbero esserci delle "complicazioni". Ad esempio, la RedGate, una delle aziende che produce obfuscator, ha pubblicato una procedura da seguire affinché il sito, dopo l'offuscamento, continui a funzionare come prima.
http://www.red-gate.com/supportcenter/content/knowledgebase/SmartAssembly/KB201110000519

Quello però è un prodotto a pagamento. Purtroppo non saprei dirti cosa fare con altri obfuscators gratuiti, se non "sperimentare".

In alternativa all'offuscamento, se vuoi tutelare la tua proprietà intellettuale fintanto che ti tengono sulle spine, potresti pubblicare il sito presso uno dei servizi di hosting italiani che di solito sono abbastanza economici. In questo caso sarai soltanto tu, in quanto proprietario del piano di hosting, ad avere accesso al codice sorgente. Ovviamente questa ipotesi è percorribile solo se pensi che se ne possa discutere liberamente insieme ai tuoi datori di lavoro. Dovrebbero anche accettare il fatto che i dati raccolti dal tuo sito vengano memorizzati presso un'azienda terza (quella che ti fornisce l'hosting).
Ma forse questo non è un gran consiglio... ti chiederebbero come mai vuoi appoggiarti a un terzo e dovresti trovare una giustificazione "diplomatica".

Probabilmente è meglio ricorrere all'offuscamento...

ubimaior ha scritto:

Ergo, visti i tempi (devono licenziare 10 persone), vorrei avere qualche carta in più.

che roba, mi dispiace... in bocca al lupo per il futuro!

ciao

Enjoy learning and just keep making
8 messaggi dal 13 settembre 2008
BrightSoul ha scritto:

potresti pubblicare il sito presso uno dei servizi di hosting italiani che di solito sono abbastanza economici.

Purtroppo la policy aziendale non lo permette
BrightSoul ha scritto:


che roba, mi dispiace... in bocca al lupo per il futuro!


Per questo giro non sono dentro ma non si sa mai. Grazie, crepi il lupo o almeno gli venga la dissenteria...

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.