Protezione software

di il
42 risposte

Protezione software

Ciao a tutti

In un precedente thread ho visto diverse persone interessate alla protezione del software.
Non ho una esperienza specifica e mi piacerebbe sentire le varie soluzioni che avete adottato.

42 Risposte

  • Re: Protezione software

    Offuscatore e chiave legata a nomeutente e password
  • Re: Protezione software

    Il problema della protezione del software lo potremmo dividere in diversi argomenti:

    - Impedire la copia del tuo programma su un altro pc.
    - Impedire l' uso del programma dopo una certa data (ad esempio alla scadenza di un abbonamento).
    - Impedire la modifica non autorizzata del software.

    zaknafein83 ha scritto:


    offuscatore e chiave legata a nomeutente e password
    Ciao zaknafein83, ok l' offuscatore è per impedire la modifica del software, mi spiegheresti meglio la faccenda della chiave?
  • Re: Protezione software

    Avevo fatto un semplice codice (che credo di aver perso) che al primo avvio chiedesse una chiava da salvare nel registro in base alla username dell'utente(o al mac della scheda di rete non ricordo).

    poi all'avvio del programma, tramite username faceva un check sulla chiave nel registro e verificava l'autenticità, se andava bene partiva, altrimenti picche.

    una cosa bypassabilissima, ma a costo quasi 0
  • Re: Protezione software

    zaknafein83 ha scritto:


    offuscatore ...
    L' offuscamento è una cosa che riguarda solo il .Net o c' è anche per altri linguaggi? Se non offusco cosa è possibile vedere?
  • Re: Protezione software

    ItaloPasi ha scritto:


    zaknafein83 ha scritto:


    offuscatore ...
    L' offuscamento è una cosa che riguarda solo il .Net o c' è anche per altri linguaggi? Se non offusco cosa è possibile vedere?
    Diciamo tutto!!!
    Pure io per diverso tempo avevo sottovalutato il problema, poi ho provato per curiosità un software di reverse engineering (ILSpy) e sono inorridito!
  • Re: Protezione software

    barba59 ha scritto:


    ItaloPasi ha scritto:


    zaknafein83 ha scritto:


    offuscatore ...
    L' offuscamento è una cosa che riguarda solo il .Net o c' è anche per altri linguaggi? Se non offusco cosa è possibile vedere?
    Diciamo tutto!!!
    Va be, ti mostrerà dei pezzi di codice, scritto male e con i nomi a capocchia, e poi non hai il progetto con i sorgenti che si compilano.
  • Re: Protezione software

    ItaloPasi ha scritto:


    Va be, ti mostrerà dei pezzi di codice, scritto male e con i nomi a capocchia, e poi non hai il progetto con i sorgenti che si compilano.
    (risata ironica)

    Facciamo un bel giochetto, adesso ti scarichi ILSpy, lo installi (ci vuole un minuto), e apri un exe compilato col .Net, poi ci risentiamo.

    Ah, mi raccomando seleziona la radice del progetto e fa 'save code'.
  • Re: Protezione software

    barba59 ha scritto:


    (risata ironica)
    per il principio della risonanza ti seguo.

    ItaloPasi, fidati il software che ti ha indicato Barba59 è un decompilatore in ambito .net, provalo e cambierai opinione sull'argomento.

    Per barba59: ma quand'è che farai il giovine e metterai un avatar sul tuo profilo?
  • Re: Protezione software

    Io lavoro prettamente in ambito java, e ti assicuro che se offuschi un codice con uno dei miliardi di tool che trovi su google, devi penare davvero parecchio per ricostruirlo.

    Poi ovviamente, il discorso è moooooooolto aleatorio!!!

    poniti queste domande:
    1) a chi è indirizzato il mio software?
    2) chi saranno i miei concorrenti?
    3) che distribuzione avrà il mio software?
    4) quanto costa il mio software?


    9 volte su dieci rispondendoti a queste domande capirai che è inutile proteggere il software
  • Re: Protezione software

    zaknafein83 ha scritto:


    poniti queste domande:
    1) a chi è indirizzato il mio software?
    2) chi saranno i miei concorrenti?
    3) che distribuzione avrà il mio software?
    4) quanto costa il mio software?
    Ciao zaknafein83

    Sono del tuo stesso parere. Io sono un programmatore normale con dei clienti normali e che normalmente mi pagano una volta che ho offuscato il codice sono più che a posto e il più delle volte non lo faccio neanche.

    Prima di perdere tempo e denaro a inserire protezioni, è bene porsi le domande che hai scritto.

    Comunque dato che il thread riguarda la protezione del software direi che l' offuscamento è una delle pratiche assolutamente da seguire (e poi costa poca fatica).

    Invece un argomento che mi sta più a cuore è come impedire la copia abusiva di un mio programma, oppure come impedirne l' uso dopo una certa data, ad esempio alla fine di un abbonamento.
  • Re: Protezione software

    Ciao ragazzi

    Ho provato il programma per decompilare, che tra l' altro non richiede neppure una installazione, e l' unico commento che ho è:

    Incredibile!!!

    Passato il primo stupore poi arriva un certo incazzamento. Ma scusate, alla Microsoft sono pazzi furiosi? Perche hanno messo i sorgenti dentro l' eseguibile? Che motivo c' era di farlo?
  • Re: Protezione software

    L'offuscamento per .NET/Java è un obbligo (e bisogna anche usare un offuscatore che faccia bene il proprio lavoro, la maggior parte sono superabilissimi) se si distribuisce il programma in formato intermedio.

    E' anche possibile generare una volta il codice nativo da MSIL (con ngen.exe) e distribuire quello.

    Per i programmi scritti con altri linguaggi (vedi C/C++, Delphi ...) anche se di possono sempre disassemblare, la "sprotezione" diventa argomento affrontabile da pochi (e con molto sforzo), quindi ne deve valere la pena.
  • Re: Protezione software

    ItaloPasi ha scritto:


    Ma scusate, alla Microsoft sono pazzi furiosi? Perche hanno messo i sorgenti dentro l' eseguibile? Che motivo c' era di farlo?
    Si può ricostruire il codice perché all' interno dell' exe ci sono delle informazioni chiamate metadati.
    Ovviamente hanno il loro motivo di esistere e offrono dei vantaggi, guarda questo link:



    per contro ti tocca offuscare il codice.

    oregon ha scritto:


    Per i programmi scritti con altri linguaggi (vedi C/C++, Delphi ...) anche se di possono sempre disassemblare, la "sprotezione" diventa argomento affrontabile da pochi (e con molto sforzo), quindi ne deve valere la pena.
    Esatto, è un lavoro da professionisti. E poi può permettere al massimo la rimozione di qualche protezione. Se il cliente non ha i sorgenti e vuole aggiungere nuove features al software deve venire per forza da me. Diverso è il caso del .Net/Java non offuscato, si riesce ad avere dei sorgenti perfetti e si possono modificare a piacere.
  • Re: Protezione software

    Lo sapete che siete forti!

    Perfetto, mi avete fornito delle certezze sull' offuscamento.

    Ora mi potreste svelare i trucchi che usate per impedire la duplicazione abusiva di un vostro programma. Intendo dire, voi vendete il programma al cliente A e volete impedire che lui lo passi al cliente B. Come fate?
Devi accedere o registrarti per scrivere nel forum
42 risposte