|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Member
Iscritto dal: Jun 2001
Città: Roma
Messaggi: 142
|
Sicurezza softWare
****************************************
Qualche domanda : 1 -E' possibile decompilare un file .exe compilato con Visual Basic 6 e/o modificarlo a piacimento ? Per esempio se c'è il nome dell'utente, ( nel file .exe ) cambiarlo senza l'autorizzazione di chi ha fatto il programma ? 2 - Che trucchi mi potete suggerire per evitare che un progamma VB possa essere copiato da un PC all'altro ? Temo di essere stato fregato in qualche modo ! Grazie mille, Visodont ![]() |
![]() |
![]() |
![]() |
#2 |
Bannato
Iscritto dal: Jul 2000
Città: Malo (VI)
Messaggi: 1000
|
1- In linea di massima per cambiare una stringa di testo non e' necessario decompilare l'eseguibile visto che generalmente la stringa viene memorizzata 'in chiaro'. Basta prendersi un editor esadecimale, cercare il nome
e cambiarlo (avendo l'accortezza di cambiare la dimensione del file, ma questo con gli editor esadecimali di solito non riesci a farlo). 2- Un metodo infallibile non c'e' ( altrimenti meta' degli utenti di questo forum si troverebbe senza sistema operativo... ![]() ![]() Ci sono dei modi per limitare i danni, ma quale sia il piu' utile dipende fortemente dal tipo di cliente a cui devi dare il software (e cmq su questo punto non ti sarei molto d'aiuto). |
![]() |
![]() |
![]() |
#3 |
Senior Member
Iscritto dal: Feb 2001
Città: Nordest
Messaggi: 217
|
Confermo, è praticamente impossibile decompilare un exe ottenuto con VB6, a causa dei frequenti collegamenti via COM con le librerie esterne (OCX e DLL) e con i file di supporto del linguaggio. Più semplice risulta essere la ricerca e la sostituzione di un testo con un semplice editor esadecimale, a patto di mantenere la stessa lunghezza della stringa originale.
Ci sono tanti trucchi per rendere difficile la vita al malintenzionato. Per esempio, se vuoi nascondere un testo all'interno della tua applicazione un modo potrebbe essere questo: Codice:
'al posto di... nome = "mara" 'potresti scrivere... nome = chr$(77) & chr$(97) & chr$(114) & chr$(97) 'oppure, ancora più subdolo... base = 64 nome = chr$(13+base) & chr$(33+base) & chr$(50+base) & chr$(33+base) Come diceva /\/\@®¢Ø, non esiste e (credo) non esisterà mai una protezione perfetta, l'unica cosa che è possibile fare è limitare i danni. Ci sono sistemi a codice seriale (che ormai sono utilizzati da quasi tutti i software commerciali) oppure con attivazione via Internet (Windows XP e Office XP), con chiave hardware (Autocad) e altri sistemi ancora. Bisogna applicare la protezione in base al tipo di software e al suo veicolo di commercializzazione, tenendo anche presente che a volte la pirateria ha incrementato ancora di più il successo commerciale di certi programmi. Per esempio, un gestionale verticale fortemente personalizzato non avrà bisogno di grandi protezioni, in quanto chi tenta di fare la copia si troverà tra le mani un software perfettamente funzionante ma poco adattabile alle sue esigenze, che richiederà quindi l'intervento del programmatore. Una eventuale operazione di reverse-engeenering di un software del genere risulterà inutile non appena sarà rilasciata una nuova versione aggiornata dell'applicazione, con evidente disappunto da parte dell'"abusivo". Nel caso di imponenti applicazioni professionali (rientrano in questo gruppo molti software di elaborazione grafica) ci si tutela con le chiavi hardware, che in percentuale incidono poco sul prezzo di vendita finale. Grazie ad un qualificato supporto on-line del prodotto e a continui aggiornamenti (disponibili ovviamente solo per gli utenti registrati), si spingerà prima o poi il professionista ad acquistare il software regolarmente. Per quello che riguarda invece programmi di uso generico, utilizzabili da molti utenti (per esempio un firewall, un deframmentatore, un gioco o altro) il discorso si fa più complesso, in quanto si tratta di software che viene venduto già pronto all'uso, senza bisogno di ulteriore supporto da parte del programmatore. In questo caso le aziende preferiscono tenere il prezzo basso, puntando molto sui servizi a valore aggiunto on-line, disponibili ovviamente solo per gli utenti registrati. Un'altra possibilità è quella di rilasciare il software gratuitamente, senza alcuna protezione attiva. Se il programma avrà vastissima diffusione, ci sono diverse possibilità:
Scusate se mi sono dilungato ![]() |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 12:19.