Torna indietro   Hardware Upgrade Forum > Software > Programmazione

DS N°7 E-Tense: il SUV premium made in Melfi che punta su autonomia e comfort
DS N°7 E-Tense: il SUV premium made in Melfi che punta su autonomia e comfort
Fino a 740 km WLTP con la batteria da 97,2 kWh, sospensioni che leggono la strada con una telecamera e un abitacolo da salotto parigino. La nuova DS N°7 raccoglie l'eredità della DS 7 e la porta, per la prima volta, nel mondo 100% elettrico. Ecco come è fatta, cosa offre e quanto costa.
Recensione Samsung Galaxy Tab S12 Ultra: non chiamatelo tablet... è molto di più
Recensione Samsung Galaxy Tab S12 Ultra: non chiamatelo tablet... è molto di più
Abbiamo provato Samsung Galaxy Tab S12 Ultra nella versione 12 GB + 256 GB con tastiera, e il risultato è un tablet che in questa configurazione si comporta come un notebook con la fluidità tipica di Android. Spessore di 5,1 mm, display Dynamic AMOLED 2X da 14,6 pollici, MediaTek Dimensity 9500 e un software senza incertezze compongono un prodotto di vertice, con prezzi da 1.539 euro, frenato solo da un'autonomia nella parte bassa del confronto
Hyundai IONIQ 5 N, l'elettrica che finge di essere termica (e ci riesce da paura)
Hyundai IONIQ 5 N, l'elettrica che finge di essere termica (e ci riesce da paura)
Abbiamo provato per dieci giorni la Hyundai IONIQ 5 N, con 650 CV, 770 Nm e uno 0-100 km/h in 3,4 secondi. Il suo punto forte è N e-Shift, che simula un cambio a otto rapporti con suoni da motore termico e perfino un bang supersonico
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 04-01-2008, 12:13   #1
marxt
Senior Member
 
L'Avatar di marxt
 
Iscritto dal: Feb 2004
Messaggi: 459
[C++] proteggere sw

ciao a tutti,

avrei bisogno di inserire nel mio programma un meccanismo di protezione, qualcosa che sia più affidabile del semplice controllo di una password scritta nel codice, pensavo a file di licenza che l'utente deve tenere in una determinata cartella e la cui presenza viene controllata ad ogni avvio del programma.

Qulcuno di voi conosce come si fanno queste cose? esiste una procedura standard? Cosa mi consigliate di fare?
magari utilizzando librerie .NET che potrebbero semplificarmi la vita.

Grazie a tutti
marxt è offline   Rispondi citando il messaggio o parte di esso
Old 04-01-2008, 12:14   #2
isAlreadyInUse
Senior Member
 
L'Avatar di isAlreadyInUse
 
Iscritto dal: Sep 2007
Messaggi: 754
Ma devi proteggere l'accesso o la copia del programma
__________________
http://www.tevigroup.it/
isAlreadyInUse è offline   Rispondi citando il messaggio o parte di esso
Old 04-01-2008, 14:21   #3
marxt
Senior Member
 
L'Avatar di marxt
 
Iscritto dal: Feb 2004
Messaggi: 459
l'accesso
marxt è offline   Rispondi citando il messaggio o parte di esso
Old 04-01-2008, 14:24   #4
isAlreadyInUse
Senior Member
 
L'Avatar di isAlreadyInUse
 
Iscritto dal: Sep 2007
Messaggi: 754
Impronta digitale
__________________
http://www.tevigroup.it/
isAlreadyInUse è offline   Rispondi citando il messaggio o parte di esso
Old 04-01-2008, 14:28   #5
variabilepippo
Senior Member
 
L'Avatar di variabilepippo
 
Iscritto dal: Mar 2007
Messaggi: 1792
Quote:
Qulcuno di voi conosce come si fanno queste cose? esiste una procedura standard?
Se esistesse una procedura standard per proteggere esisterebbe anche un crack universale... Invece la protezione di un software è affidata alla fantasia e all'esperienza del programmatore. In realtà esistono librerie e componenti che permettono di proteggere un'applicazione, ma io eviterei di usarle per quanto scritto prima.

Quote:
magari utilizzando librerie .NET che potrebbero semplificarmi la vita.
Stai sviluppando in Managed C++?

Quote:
l'accesso
Sei proprio sicuro di voler proteggerne l'accesso (cosa intendi per "accesso"?) e non la possibilità di usare copie non regolarmente acquistate del software?
variabilepippo è offline   Rispondi citando il messaggio o parte di esso
Old 04-01-2008, 15:47   #6
marxt
Senior Member
 
L'Avatar di marxt
 
Iscritto dal: Feb 2004
Messaggi: 459
voglio che il software sia usabile solo dagli utenti autorizzati a cui verra rilasciata una chiave o una licenza.

come dicevo mi basta qlc di più di una semplice password all'avvio, quindi mi va bene anche usare delle librerie standard.

avete qlc link o qlc procedura da consigliarmi?
marxt è offline   Rispondi citando il messaggio o parte di esso
Old 04-01-2008, 16:03   #7
variabilepippo
Senior Member
 
L'Avatar di variabilepippo
 
Iscritto dal: Mar 2007
Messaggi: 1792
Quale compilatore C++ utilizzi? Fai ricorso a framework particolari?
variabilepippo è offline   Rispondi citando il messaggio o parte di esso
Old 04-01-2008, 16:15   #8
RaouL_BennetH
Senior Member
 
L'Avatar di RaouL_BennetH
 
Iscritto dal: Sep 2004
Messaggi: 3967
Non per mia personale esperienza ma in genere per questo tipo di problematica, molti utenti esperti su questo forum hanno consigliato in passato una chiave hardware.
__________________
Dai wafer di silicio nasce: LoHacker... il primo biscotto Geek
RaouL_BennetH è offline   Rispondi citando il messaggio o parte di esso
Old 04-01-2008, 17:21   #9
marxt
Senior Member
 
L'Avatar di marxt
 
Iscritto dal: Feb 2004
Messaggi: 459
uso visual studio 2005, framework 2.0

ho visto da qualche parte che ci sono librerie .NET per il licensing, ma non trovo maggiori informazioni
marxt è offline   Rispondi citando il messaggio o parte di esso
Old 04-01-2008, 19:12   #10
tomminno
Senior Member
 
Iscritto dal: Oct 2005
Messaggi: 3306
Quote:
Originariamente inviato da marxt Guarda i messaggi
uso visual studio 2005, framework 2.0

ho visto da qualche parte che ci sono librerie .NET per il licensing, ma non trovo maggiori informazioni
Allora non stiamo parlando di C++.
Se usi il framework .NET evita quell'abominio del C++ managed.
Però stai attento che l'IL è perfettamente in chiaro per chi detiene l'assembly, devi ricorrere a tool come dotFuscator (non so se sia presente in tutte le versioni di VS2005), i quali limitano alcune proprietà del linguaggio come la Reflection.

Potresti affidarti ai tradizionali product key basati sull'Elliptic Curve Cryptografy.

Il problema che non sono mai riuscito a risolvere è che comunque nel codice del programma è presente la chiave per decifrare il product key, se in C++ ci vuole una certa perizia anche solo per capire che dei numeracci messi lì costituiscono la chiave (si può pensare anche di tenerli in modo che siano necessarie determinate operazioni prima di ottenere i singoli byte della chiave), con .NET tutto diventa più semplice (a lavoro per test ho cracckato un nostro stesso programma protetto con queste chiavi e offuscato, chiaramente non sapevo dove cercare la chiave, ma non è stato troppo complicato trovarla).
tomminno è offline   Rispondi citando il messaggio o parte di esso
Old 04-01-2008, 19:57   #11
marxt
Senior Member
 
L'Avatar di marxt
 
Iscritto dal: Feb 2004
Messaggi: 459
per l'esattezza uso C++/CLI,
sapete niente di una certa classe "License" e "LicenceManager" e di come si utilizzano??
marxt è offline   Rispondi citando il messaggio o parte di esso
Old 04-01-2008, 20:09   #12
variabilepippo
Senior Member
 
L'Avatar di variabilepippo
 
Iscritto dal: Mar 2007
Messaggi: 1792
Quote:
per l'esattezza uso C++/CLI
Come proteggi il tuo codice dalla decompilazione?

Quote:
sapete niente di una certa classe "License" e "LicenceManager" e di come si utilizzano??
L'uso di tale classe è illustrato in How to: License Components and Controls, come puoi notare non serve per proteggere un'applicazione ma i propri componenti.
variabilepippo è offline   Rispondi citando il messaggio o parte di esso
Old 04-01-2008, 20:50   #13
marxt
Senior Member
 
L'Avatar di marxt
 
Iscritto dal: Feb 2004
Messaggi: 459
allora mi sa che mi manca qualche pezzo.

qual'è la differenza tra proteggere componenti e proteggere l'uso dell'applicazione?

c'è un modo per fare quello che voglio fare io?
marxt è offline   Rispondi citando il messaggio o parte di esso
Old 04-01-2008, 20:55   #14
variabilepippo
Senior Member
 
L'Avatar di variabilepippo
 
Iscritto dal: Mar 2007
Messaggi: 1792
Quote:
c'è un modo per fare quello che voglio fare io?
Progettare un TUO schema di protezione customizzato?

Devi inventare un meccanismo per la generazione e la verifica di codici seriali ed integrarlo nella tua applicazione.
variabilepippo è offline   Rispondi citando il messaggio o parte di esso
Old 04-01-2008, 23:40   #15
71104
Bannato
 
L'Avatar di 71104
 
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
Quote:
Originariamente inviato da marxt Guarda i messaggi
ciao a tutti,

avrei bisogno di inserire nel mio programma un meccanismo di protezione, qualcosa che sia più affidabile del semplice controllo di una password scritta nel codice, pensavo a file di licenza che l'utente deve tenere in una determinata cartella e la cui presenza viene controllata ad ogni avvio del programma.
ti propongo un'idea migliore: il file di licenza contiene una chiave crittografica che viene utilizzata per decriptare una parte chiave del programma. però ovviamente ciascun utente regolare deve avere una licenza diversa, il che significa che a ciascun utente regolare devi distribuire una copia crittografata diversamente.
71104 è offline   Rispondi citando il messaggio o parte di esso
Old 04-01-2008, 23:50   #16
dupa
Senior Member
 
L'Avatar di dupa
 
Iscritto dal: Jan 2002
Città: Napoli
Messaggi: 1727
inizia a usare un encrypter e compressore di exe.. che di sicuro renderà la vita meno agevole al cracker di turno.

ciao
__________________
Se buttassimo in un cestino tutto ciò che in Italia non funziona cosa rimarrebbe? Il cestino.
dupa è offline   Rispondi citando il messaggio o parte di esso
Old 05-01-2008, 12:52   #17
marxt
Senior Member
 
L'Avatar di marxt
 
Iscritto dal: Feb 2004
Messaggi: 459
Quote:
Originariamente inviato da 71104 Guarda i messaggi
ti propongo un'idea migliore: il file di licenza contiene una chiave crittografica che viene utilizzata per decriptare una parte chiave del programma. però ovviamente ciascun utente regolare deve avere una licenza diversa, il che significa che a ciascun utente regolare devi distribuire una copia crittografata diversamente.
cosa intendi per decriptare una parte chiave del programma? criptare una parte del codice?
ma come si fa praticamente a compilare un programma con un pezzo del suo codice cifrato?
marxt è offline   Rispondi citando il messaggio o parte di esso
Old 05-01-2008, 13:42   #18
71104
Bannato
 
L'Avatar di 71104
 
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
Quote:
Originariamente inviato da marxt Guarda i messaggi
cosa intendi per decriptare una parte chiave del programma? criptare una parte del codice?
ma come si fa praticamente a compilare un programma con un pezzo del suo codice cifrato?
veramente criptare una parte dell'eseguibile principale sarebbe un po' troppo complicato, dovresti avere a che fare con codice automodificante; io avevo in mente più che altro una DLL o un file essenziale.
71104 è offline   Rispondi citando il messaggio o parte di esso
Old 05-01-2008, 15:02   #19
marxt
Senior Member
 
L'Avatar di marxt
 
Iscritto dal: Feb 2004
Messaggi: 459
ho capito, e cosa potrei usare per criptare/decriptare?
marxt è offline   Rispondi citando il messaggio o parte di esso
Old 05-01-2008, 15:18   #20
variabilepippo
Senior Member
 
L'Avatar di variabilepippo
 
Iscritto dal: Mar 2007
Messaggi: 1792
Potresti usare la classe Rijndael del namespace System.Security.Cryptography.

Non hai risposto alla mia domanda precedente: come proteggi la tua applicazione dalla decompilazione?
variabilepippo è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


DS N°7 E-Tense: il SUV premium made in Melfi che punta su autonomia e comfort DS N°7 E-Tense: il SUV premium made in Melfi...
Recensione Samsung Galaxy Tab S12 Ultra: non chiamatelo tablet... è molto di più Recensione Samsung Galaxy Tab S12 Ultra: non chi...
Hyundai IONIQ 5 N, l'elettrica che finge di essere termica (e ci riesce da paura) Hyundai IONIQ 5 N, l'elettrica che finge di esse...
CES Unveiled Milan, l'IA diventa tecnologia fondativa e il commercio torna centrale CES Unveiled Milan, l'IA diventa tecnologia fond...
 Recensione OPPO Find X10 Pro Max: un top di gamma completo con tre fotocamere da 200MP Recensione OPPO Find X10 Pro Max: un top di gam...
Cowboy Space Corp. presenta il suo razzo...
Per NetSuite il vantaggio nell'IA sta ne...
Scoperta la zona d'origine del segnale W...
La Stazione Spaziale Internazionale cont...
La Difesa statunitense ha pubblicato la ...
vivo X500 Pro e Pro Max ufficiali: tanta...
iOS 27.2: l'iPhone chiede ai numeri scon...
Final Cut Pro integra MotionVFX e Apple ...
iMac M6 da 1.829 euro, MacBook Pro 14 M6...
RayNeo GT a 313,65€ su Amazon: occhiali ...
NVIDIA e Meta: 3 miliardi di dollari e p...
PHP2Shell: sfruttate attivamente le due ...
Raffreddamento passivo senza elettricità...
La deforestazione in Amazzonia crolla a ...
La luce del sole a mezzanotte, ecco come...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 23:38.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v