Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Recensione vivo X300 Pro: è ancora lui il re della fotografia mobile, peccato per la batteria
Recensione vivo X300 Pro: è ancora lui il re della fotografia mobile, peccato per la batteria
vivo X300 Pro rappresenta un'evoluzione misurata della serie fotografica del produttore cinese, con un sistema di fotocamere migliorato, chipset Dimensity 9500 di ultima generazione e l'arrivo dell'interfaccia OriginOS 6 anche sui modelli internazionali. La scelta di limitare la batteria a 5.440mAh nel mercato europeo, rispetto ai 6.510mAh disponibili altrove, fa storcere un po' il naso
Lenovo Legion Go 2: Ryzen Z2 Extreme e OLED 8,8'' per spingere gli handheld gaming PC al massimo
Lenovo Legion Go 2: Ryzen Z2 Extreme e OLED 8,8'' per spingere gli handheld gaming PC al massimo
Lenovo Legion Go 2 è la nuova handheld PC gaming con processore AMD Ryzen Z2 Extreme (8 core Zen 5/5c, GPU RDNA 3.5 16 CU) e schermo OLED 8,8" 1920x1200 144Hz. È dotata anche di controller rimovibili TrueStrike con joystick Hall effect e una batteria da 74Wh. Rispetto al dispositivo che l'ha preceduta, migliora ergonomia e prestazioni a basse risoluzioni, ma pesa 920g e costa 1.299€ nella configurazione con 32GB RAM/1TB SSD e Z2 Extreme
AWS re:Invent 2025: inizia l'era dell'AI-as-a-Service con al centro gli agenti
AWS re:Invent 2025: inizia l'era dell'AI-as-a-Service con al centro gli agenti
A re:Invent 2025, AWS mostra un’evoluzione profonda della propria strategia: l’IA diventa una piattaforma di servizi sempre più pronta all’uso, con agenti e modelli preconfigurati che accelerano lo sviluppo, mentre il cloud resta la base imprescindibile per governare dati, complessità e lock-in in uno scenario sempre più orientato all’hybrid cloud
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


Recensione vivo X300 Pro: è ancora lui il re della fotografia mobile, peccato per la batteria Recensione vivo X300 Pro: è ancora lui il...
Lenovo Legion Go 2: Ryzen Z2 Extreme e OLED 8,8'' per spingere gli handheld gaming PC al massimo Lenovo Legion Go 2: Ryzen Z2 Extreme e OLED 8,8'...
AWS re:Invent 2025: inizia l'era dell'AI-as-a-Service con al centro gli agenti AWS re:Invent 2025: inizia l'era dell'AI-as-a-Se...
Cos'è la bolla dell'IA e perché se ne parla Cos'è la bolla dell'IA e perché se...
BOOX Palma 2 Pro in prova: l'e-reader diventa a colori, e davvero tascabile BOOX Palma 2 Pro in prova: l'e-reader diventa a ...
Numeri da record, Xiaomi distribuisce ol...
BitLocker accelerato via hardware: Micro...
Blue Origin prosegue lo sviluppo dei lan...
Moore Threads: nuove GPU 15 volte pi&ugr...
Steam diventa esclusivamente 64-bit: Val...
La Corte Suprema restituisce a Elon Musk...
X lancia Creator Studio su mobile: nuovi...
Dieci anni fa SpaceX fece atterrare per ...
POCO M8 e M8 Pro arriveranno nel 2026: e...
Caos Formula 1: il motore Mercedes &egra...
Tariffe nazionali per le chiamate e gli ...
Tassa chilometrica non solo per elettric...
FSR 4 su Radeon RX 5000, 6000 e 7000? Li...
Quanti alberi ci sono in Skyrim? In The ...
Pocket Max, la nuova console Mangmi punt...
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: 16:58.


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