View Full Version : Proteggere il proprio software?
[Gnomix]
19-02-2004, 22:10
Salve a tutti,
come posso proteggere il mio software da eventuali copiature? per esempio usando un serial o codice di attivazione?
So bene che tutto è crakkabile... però vorrei proteggere i miei lavori in qualche modo
come posso fare?
Grazie a tutti
[Gnomix]
Generi un codice a 128 bit tramite le API di Windows quando lanci la prima volta la tua applicazione...il codice verrà scritto all'interno delle API di Windows... Questo codice non cambierà mai...
Puoi generare un'altra parte del codice che verrà verificato ad ogni avvio in base alle informazioni sulla macchina (codice seriale di Windows, processore, nome del computer e compagnia bella)...
La somma di questi due codici (che formano il codice seriale), insieme ai dati dell'acquirente, devono essere inviati tramite connessione sicura al tuo server web...una volta verificato che i dati di acquisto siano gli stessi e che la stessa copia non sia già stata attivata, il server invia in rispota il codice di attivazione (senza il quale l'applicazione non funziona)...
Ad ogni avvio dovrai verificare la parte del codice relativa lal macchina ed in base a codice seriale e dati personale verificherai il codice di attivazione...
maxithron
20-02-2004, 08:47
Originariamente inviato da [Gnomix]
Salve a tutti,
come posso proteggere il mio software da eventuali copiature? per esempio usando un serial o codice di attivazione?
So bene che tutto è crakkabile... però vorrei proteggere i miei lavori in qualche modo
come posso fare?
Grazie a tutti
[Gnomix]
www.billgates_how_dont_to.maybe
Originariamente inviato da cionci
Generi un codice a 128 bit tramite le API di Windows quando lanci la prima volta la tua applicazione...il codice verrà scritto all'interno delle API di Windows... Questo codice non cambierà mai...
Che ho scritto !?!?!? Volevo dire... Il codice dovrà essere scritto all'interno del registro di Windows...
[Gnomix]
20-02-2004, 12:49
su altri sistemi tipo linux hai idea di come possa fare? tipo io pensavo di utilizzare il MAC address e di ritrasformarlo per evitare di far capire ad un "intruso" ke si tratti di un semplice MAC
Altrimenti,se praticabile,puoi proteggerlo tramite chiave hardware.E' il metodo più sicuro in assoluto anche se implica costi aggiuntivi e una gestione a monte..
Rimane il fatto che se uno è un DIO del assembly c'è la mette tutti nel sederino e qlc protezione noi inventiamo lui le scopre andando in basso livello!! :(
[Gnomix]
21-02-2004, 15:29
eheheh si si su quello so convinto... nulla è sicuro :D però ovviamente mettere un protezione e distribuire un software è sempre meglio ke distribuirlo senza nessuna protezione :D
Fenomeno85
21-02-2004, 15:52
ma quanto è importante in un programmatore la conoscenza di assembly????
~§~ Sempre E Solo Lei ~§~
[Gnomix]
21-02-2004, 16:46
penso sia fondamentale.. :D almeno per me
Originariamente inviato da Fenomeno85
ma quanto è importante in un programmatore la conoscenza di assembly????
~§~ Sempre E Solo Lei ~§~
Dipende sempre cosa si vuole fare...ma cmq un po' di assembly giusto per sapere come lavora il processore nn è poi male da sapere!! :)
Originariamente inviato da [Gnomix]
eheheh si si su quello so convinto... nulla è sicuro :D però ovviamente mettere un protezione e distribuire un software è sempre meglio ke distribuirlo senza nessuna protezione :D
Certamente :D
[Gnomix]
21-02-2004, 17:48
ma tornando al topic :D se io dovessi proteggere un software scritto in php come posso fare? l'unico modo è utilizzare software che compilino i sorgenti di php? o ci sono altre soluzioni?
Grazie ancora
Ci sono offuscatori/compialtori anche per PHP ;)
Originariamente inviato da Geen
Altrimenti,se praticabile,puoi proteggerlo tramite chiave hardware.E' il metodo più sicuro in assoluto anche se implica costi aggiuntivi e una gestione a monte..
Mi dispiace deluderti. :)
Oggigiorno si è arrivati praticamente ad uno standard nello sproteggere una chiave -hardware.
Si fa con una sorta di bypass in cui si simula la risposta positiva alla "interrogazione" della chiave.
L'ho spiegato concettualmente perché di assembly non capisco una mazza.
Attualmente la chiave.hard è diciamo,il sistema + "costoso" in assoluto per farsi fregare. :D
Una volta patchato,distribuiscono il cd con il software al mondo intero.
ciao.
Originariamente inviato da verloc
Mi dispiace deluderti. :)
Aspetta...questo lo puoi fare sulle chiavi hardware normali (quelle che in pratica leggevano una sequenza di bit in ingresso e ne rispedivano altre in uscita), ma non sulle attuali SmartKey...come quella di Eutron...
Originariamente inviato da cionci
Aspetta...questo lo puoi fare sulle chiavi hardware normali (quelle che in pratica leggevano una sequenza di bit in ingresso e ne rispedivano altre in uscita), ma non sulle attuali SmartKey...come quella di Eutron...
beh,buono a sapersi :)
Puoi dirci per sommi capi cos'è una smart-key e come funziona?
ps.miezzeca ma quanto costano?
In pratica il software viene codificato con un algoritmo particolare, chiave di decodifca e, credo, parte dell'algoritmo risiedono sulla SmartKey...quindi per ogni prodotto venduto è possibile fare una codifica ad hoc... Il programma così com'è è virtualmente intoccabile... Il problema è quando il programma è in esecuzione in memoria... Credo che ci sia la possibilità di fare altre query alla SmartKey per decodificare anche dati o parti di codice a runtime... Se la cosa è fatta bene diventa mooolto difficile crackare...
L'unico neo è che questa soluzione è impensabile per una distribuzione di massa... Quando un software viene pubblicato, l versione masterizzata deve essere uguale per tutti, altrimenti i costi di produzione aumenterebbero in maniera vertiginosa ;)
http://www.smartkey.eutron.it/ita/home.asp
Potete ordinare anche un kit di prova ;)
E qui c'è la documentazione:
http://www.smartkey.eutron.it/support/dx_download.htm
maxithron
22-02-2004, 09:45
In generale quel tipo di smart key permette di leggere e scrivere run time sulla memoria, in modo da ottenere valori dinamici da implementare per la codifica, in modo da non poter ottenere appunto un "semplice" riscontro tra i bit in entrata ed in uscita.
Originariamente inviato da cionci
[...]
Ad ogni avvio dovrai verificare la parte del codice relativa lal macchina ed in base
a codice seriale e dati personale verificherai il codice di attivazione...
Uhm potrei non aver capito il metodo, ma detto cosi' non mi pare sta gran sicurezza =)
Basta piazzare un bel jmp dove serve per eliminare tutti questi controlli e saltare
direttamente alla parte di codice a cui si arriverebbe se il codice d'attivazione
fosse corretto e finisce tutto...
Originariamente inviato da Bane
Uhm potrei non aver capito il metodo, ma detto cosi' non mi pare sta gran sicurezza =)
Basta piazzare un bel jmp dove serve per eliminare tutti questi controlli e saltare
direttamente alla parte di codice a cui si arriverebbe se il codice d'attivazione
fosse corretto e finisce tutto...
Infatti non è una gran sicurezza...
Tutti i sistemi basati solamente su software sono sempre crackabili in questo modo...
Puoi anche fare in modo che l'eseguibile sia criptato...al momento dell'esecuzione decriptato tramite un loader e messo in esecuzione... Ma il problema è sempre il solito... Basta prendere l'immagine dell'eseguibile dalla memoria al momento giusto e non c'è più sicurezza...
Seriale e attivazione online però non permettono al programma originale di girare su più macchine...e questo è subito un immenso beneficio...
Ok, allora avevo compreso bene =)
Mi ponevo pero' un quesito, vale veramente la pena mettere queste protezioni?
Se il software e' "famoso" viene crackato senza grossi problemi, se non e'
famoso tanto vale lasciarlo senza protezioni con la speranza che si diffonda
meglio e si faccia conoscere...
Personalmente il SW originale che possiedo l'ho comprato perche' ritenevo
ne valesse la pena, indipendentemente dal fatto che fosse senza protezioni,
che l'avessi gia' in versione crackata, ecc.
Originariamente inviato da verloc
Mi dispiace deluderti. :)
Oggigiorno si è arrivati praticamente ad uno standard nello sproteggere una chiave -hardware.
Si fa con una sorta di bypass in cui si simula la risposta positiva alla "interrogazione" della chiave.
L'ho spiegato concettualmente perché di assembly non capisco una mazza.
Attualmente la chiave.hard è diciamo,il sistema + "costoso" in assoluto per farsi fregare. :D
Una volta patchato,distribuiscono il cd con il software al mondo intero.
ciao.
Non ho mai sentito di tali crack..in ogni caso,se fosse possibile,un discorso del genere avrebbe senso per software di una certa rilevanza e di "interesse" mondiale..per quello che produciamo,per quanto bello,potente o fatto bene che che sia..beh dubito che qualcuno si sbatta a crackare una chiave hardware..mi vien da dire magari generasse un tale interesse!
Come già detto le vecchie chiavi hardware si crackano bene...quelle nuove un po' meno ;)
theClimber
22-02-2004, 19:46
Originariamente inviato da Bane
Uhm potrei non aver capito il metodo, ma detto cosi' non mi pare sta gran sicurezza =)
Basta piazzare un bel jmp dove serve per eliminare tutti questi controlli e saltare
direttamente alla parte di codice a cui si arriverebbe se il codice d'attivazione
fosse corretto e finisce tutto...
Se nella chiamata fai eseguire anche una parte di algoritmo sul server remoto, complichi notevolmente il tutto, perche non puoi saltare il pezzo, dato che mancherebbero dati necessari al resto del programma..... Praticamente ti devono anche fare il reverse engineering dell'algoritmo che hai sul server :O
Puo' funzionare per applicazioni matematiche/Ingegneristiche
Però devi essere sempre connesso ad internet per eseguire il programma...
Originariamente inviato da Geen
Non ho mai sentito di tali crack..in ogni caso,se fosse possibile,un discorso del genere avrebbe senso per software di una certa rilevanza e di "interesse" mondiale..per quello che produciamo,per quanto bello,potente o fatto bene che che sia..beh dubito che qualcuno si sbatta a crackare una chiave hardware..mi vien da dire magari generasse un tale interesse!
Ti assicuro che viene fatto anche per software di interesse "nazionale".Basta che cominci a superare le 500-1000 copie all'anno e vedi che ti craccano.Sto parlando per esempio di software per l'ingegneria che vanno dagli 800 € in su.
Per un famoso (nell'ambiente) programma di calcolo agli elementi finiti un cracker ha fatto addirittura un tutorial su come mandare a quel paese la chiave hardware.Il software costa mi pare sui 4000€.
Originariamente inviato da verloc
Per un famoso (nell'ambiente) programma di calcolo agli elementi finiti un cracker ha fatto addirittura un tutorial su come mandare a quel paese la chiave hardware.Il software costa mi pare sui 4000€.
Il problema sta tutto lì...nella parola in neretto... Un programma "famoso" verrà sempre crackato perchè non si potranno utilizzare soluzioni ad hoc (come ad esempio la SmartKey di cui si parlava prima, con codifche uniche per ogni copia del programma)...
[Gnomix]
23-02-2004, 09:12
Ma ad esempio se io volessi proteggere un software da me fatto e scritto in php.. come posso? perchè distribuirlo così in "chiaro" nn è il max.. e vorrei trovare soluzioni free per rendere + "sicuro" il mio software..
Ci sono dei compialtori/offuscatori per PHP...fai una ricerca con Google ;)
[Gnomix]
24-02-2004, 09:13
e si.. già fatto peccato ke i compilatori son abba ostici per me da installare... offuscatori ok...
Anch'io vorrei proteggere un software sviluppato in php!
Avete qualche link su quali utility criptano/offuscano
Ho trovato questo:
http://freephp.html.it/articoli/view_articolo.asp?id=115
ma non capisco come si usa... pls HELP!
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.