2011-06-20 3 views
7

Ho appreso di recente che la società che gestirà l'installazione di uno dei nostri prodotti principali ha già provato a decodificare il lavoro dei fornitori in scopi malvagi. A causa di questo voglio imparare di più su come proteggere il nostro lavoro e finora ho pensato di quanto segue:Proteggere il codice sorgente al momento della consegna al client

1) Ovviamente per utilizzare un obfuscator. La domanda è quale.

2) Criptare il più possibile i file di configurazione (in particolare le informazioni sull'endpoint).

3) Spostare quanto più possibile della logica sul servizio web.

4) Utilizzare SSL per i trasferimenti di dati.

Il progetto è scritto in C#/WPF e si connette a un insieme di servizi Web ospitati su un IIS 7. Imballiamo le nostre consegne con WIX, WIX ha qualcosa da offrire?

Capisco che alla fine tutti i binari possono essere hackerati e che come azienda minore dovremmo probabilmente concentrarci sulla scrittura del codice invece di proteggerlo. Ma questi piccoli passi renderanno più difficile l'affitto. Cos'altro si può fare? La comunità ha più consigli su questo? I collegamenti a risorse interne/esterne sarebbero molto apprezzati.

+2

Porta affari altrove. Se abbastanza persone lo fanno, la società "cattiva" andrà in rovina. – ChrisF

+6

Che ne dici di (1) non dare loro il programma o (2) farli firmare un contratto di licenza in cui non possono decodificare il software a causa di morte o altro. –

+0

molte persone usano esattamente C++ per questo motivo. – normalppl

risposta

15

Ecco le opzioni:

  • Non dare loro il programma, hanno già abusato del loro potere
  • Fateli entrare in un accordo di licenza in cui:
    • possono decodificare il programma o addirittura vedere il codice sorgente entro i confini definiti dal tuo team legale
    • Non possono fare nulla senza invitare un mondo di danno legale
  • Rilasciare il codice come open source. Sareste sorpresi, se il "frutto proibito" non fosse proibito, potrebbero semplicemente annoiarsi e lasciarlo in pace.
  • Spostare il calcolo proprietario sui propri server, trasformando essenzialmente il programma in un thin client.
  • Reverse engineer alcuni dei loro strumenti. Entra in una guerra fredda di sorta.
  • Scorta di brevetti e quando vedi il tuo codice in campo, fai causa all'oblio della società per aver violato il tuo brevetto.
  • pagare il mob per eseguire i tuoi "amici" fuori città
  • inviare loro un cestino di muffin con una nota che dice "plz segnalazione St0P ingegno teh H4X"
  • Vesti come il fantasma di integrità professionale, visitare ogni dei dipendenti nelle loro case e insegnare loro lezioni di etica e moralità.
  • Acquistare l'azienda, licenziare tutti i dipendenti.
+0

+1 Per la parte legale. +1 per "mondo del danno legale", se +2 era un'opzione :) –

+0

+1 per la soluzione della guerra fredda. Volevo davvero scrivere una dichiarazione di accento russo e qualcosa sulle armi nucleari, ma non è andata bene qui. –

+0

Vorrei che il mio portafoglio mi permettesse di accettare "Acquistare la società, licenziare tutti i dipendenti" :)) –

3

Quanto un accordo con @Chris come qualcosa.

Assumere un avvocato e redigere le condizioni di licenza appropriate.

Ogni tanto contattate la società incriminata e chiedete se hanno qualcosa di simile al vostro software in vendita. Nel caso in cui dicono di sì, ottenere una demo. Se ha qualche somiglianza con il tuo, denunciarli nel dimenticatoio. Una delle prime fasi di una causa di questo tipo è la scoperta. A quel punto saprai se hanno copiato il tuo codice o meno.

Presto, problema risolto.

Il punto è, l'unica vera soluzione è usare il sistema legale.

+0

+1 Buon seguito sulla risposta di Chris. Chiedere loro se vendono questo tipo di software è una grande idea. Saluti! –

2

In realtà penso che i tuoi 4 punti coprano quello che puoi fare (realisticamente) molto bene. L'unica cosa che aggiungerei è la clausola appropriata nella tua licenza.

Se qualcuno vuole rubare, ruberà.

Modifica: oh, RE Obfuscator per quanto odio raccomandare Red Gate dopo il loro trattamento con riflettore, il loro Smart Assembly è molto buono.

+0

+1 Grazie per aver suggerito Smart Assembly. L'hai confrontato con ad esempio dotfuscator? Smart Assembly sembra ragionevole. Impossibile trovare un costo di licenza per dotfuscator .. –

+0

Sì, l'ho confrontato, e sfortunatamente Smart Assembly sembra essere migliore, forse attraverso l'oscurità ;-) Ci sono app in giro che affermano di essere in grado di dare un senso a Dotfuscator, io non ho Ho visto le stesse affermazioni per Smart Assembly. Inoltre, la segnalazione degli errori è in realtà piuttosto utile. Non sai i costi di Dotfuscator, non è gratuito? –

+0

DotFuscator "light" viene fornito insieme allo studio visivo ma offre solo un piccolo sottoinsieme delle funzionalità nella versione pro. Supposamente la versione pro è meglio .. Seguirò su questo piombo, evviva! –