Torna indietro   Hardware Upgrade Forum > Software > Programmazione

HP Imagine 2026: abbiamo visto HP IQ all’opera, ecco cosa può (e non può) fare
HP Imagine 2026: abbiamo visto HP IQ all’opera, ecco cosa può (e non può) fare
A New York HP ha messo al centro della scena HP IQ, la piattaforma di IA locale da 20 miliardi di parametri. L’abbiamo vista in funzione: è uno strumento che funziona, pensato per un target specifico, con vantaggi reali e limiti altrettanto evidenti
PNY RTX 5080 Slim OC, sembra una Founders Edition ma non lo è
PNY RTX 5080 Slim OC, sembra una Founders Edition ma non lo è
La PNY GeForce RTX 5080 Slim OC si distingue nel panorama delle GPU di fascia alta per il design compatto a due slot, ispirato alla NVIDIA GeForce RTX 5080 Founders Edition. In questo test analizziamo comportamento termico e prestazioni in gioco, valutando se il formato ridotto comprometta o meno l'esperienza complessiva rispetto alle soluzioni più ingombranti presenti sul mercato.
Wi-Fi 7 con il design di una vetta innevata: ecco il nuovo sistema mesh di Huawei
Wi-Fi 7 con il design di una vetta innevata: ecco il nuovo sistema mesh di Huawei
HUAWEI WiFi Mesh X3 Pro Suite è probabilmente il router mesh più fotogenico che si possa acquistare oggi in Italia, ma dietro il guscio in acrilico trasparente e le luci LED dinamiche c'è una macchina tecnica costruita attorno allo standard Wi-Fi 7, con velocità teoriche Dual-Band fino a 3,6 Gbps e una copertura fino a 120 m² una volta abbinato il router principale all'extender incluso nel kit
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 04-01-2008, 11: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, 11: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, 13: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, 13: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, 13: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, 14: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, 15: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, 15: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, 16: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, 18: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, 18: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, 19: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, 19: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, 19: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, 22: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, 22: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, 11: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, 12: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, 14: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, 14: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


HP Imagine 2026: abbiamo visto HP IQ all’opera, ecco cosa può (e non può) fare HP Imagine 2026: abbiamo visto HP IQ all’opera, ...
PNY RTX 5080 Slim OC, sembra una Founders Edition ma non lo è PNY RTX 5080 Slim OC, sembra una Founders Editio...
Wi-Fi 7 con il design di una vetta innevata: ecco il nuovo sistema mesh di Huawei Wi-Fi 7 con il design di una vetta innevata: ecc...
Core Ultra 7 270K Plus e Core Ultra 7 250K Plus: Intel cerca il riscatto ma ci riesce in parte Core Ultra 7 270K Plus e Core Ultra 7 250K Plus:...
PC Specialist Lafité 14 AI AMD: assemblato come vuoi tu PC Specialist Lafité 14 AI AMD: assemblat...
L'industria statunitense non è co...
La NASA cambia strategia per le missioni...
Mike Fincke, l'astronauta che ha avuto u...
I Meta Ray-Ban Display potrebbero non ar...
La serie di God of War ha trovato l'attr...
Il nuovo iPhone Fold si farà atte...
Ex CEO di Intel furioso verso Wall Stree...
Un foglietto di rame e le prestazioni di...
100 agenti AI per dipendente: quello che...
Le 10 migliori offerte del weekend Amazo...
75'' e 85'' QD-Mini LED: 2 TV interessan...
Offerte Amazon sui componenti hardware P...
iOS 27 porterà tante novità...
Tutte le migliori offerte sui robot aspi...
Attenti ai Samsung 990 Pro contraffatti,...
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: 06:54.


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