Torna indietro   Hardware Upgrade Forum > Software > Programmazione

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
Cos'è la bolla dell'IA e perché se ne parla
Cos'è la bolla dell'IA e perché se ne parla
Si parla molto ultimamente di "bolla dell'intelligenza artificiale", ma non è sempre chiaro perché: l'IA è una tecnologia molto promettente e che ha già cambiato molte cose dentro e fuori le aziende, ma ci sono enormi aspettative che stanno gonfiando a dismisura i valori delle azioni e distorcendo il mercato. Il che, com'è facile intuire, può portare a una ripetizione della "bolla dotcom", e forse anche di quella dei mutui subprime. Vediamo perché
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 12-09-2007, 23:55   #1
seven.7
Member
 
Iscritto dal: Jul 2005
Messaggi: 66
Sconvolto dalla facilità di decompilazione di .net

Sono un giovane amante della programmazione e il mio primo studio di linguaggio si concentrava tutto sul visual basic .net, stasera però ho avuto un shock tremendo: ho trovato un software online che penso conoscano tutti quelli del reverse engineering... e mi è caduto il mito del .NET per la facilità di decompilazione... Avevo progettato una classe per criptare i testi ma è inutile... con questo programma si vede praticamente tutto allora mi chiedo una sola cosa... vi prego ditemi che si posso criptare le classi o qualcosa del genere perchè altrimenti è inutile programmare in .net... secondo me
seven.7 è offline   Rispondi citando il messaggio o parte di esso
Old 13-09-2007, 09:53   #2
RaouL_BennetH
Senior Member
 
L'Avatar di RaouL_BennetH
 
Iscritto dal: Sep 2004
Messaggi: 3967
In genere è quello che succede anche con Java e con linguaggi simili. Fai una ricerca su .Net obfuscator e troverai diverse utility che ti permettono di mascherare il codice.
__________________
Dai wafer di silicio nasce: LoHacker... il primo biscotto Geek
RaouL_BennetH è offline   Rispondi citando il messaggio o parte di esso
Old 13-09-2007, 09:53   #3
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
Quote:
Originariamente inviato da seven.7 Guarda i messaggi
Sono un giovane amante della programmazione e il mio primo studio di linguaggio si concentrava tutto sul visual basic .net, stasera però ho avuto un shock tremendo: ho trovato un software online che penso conoscano tutti quelli del reverse engineering... e mi è caduto il mito del .NET per la facilità di decompilazione... Avevo progettato una classe per criptare i testi ma è inutile... con questo programma si vede praticamente tutto allora mi chiedo una sola cosa... vi prego ditemi che si posso criptare le classi o qualcosa del genere perchè altrimenti è inutile programmare in .net... secondo me
Guarda che la stessa problematica esiste anche in Java....
Per entrambe le piattaforme comunque esistono degli appositi offuscatori, che, nota bene, non impediscono la decompilazione ma rendono più difficile la comprensione (da parte di una persona, ovviamente) del sorgente ricavato dalla decompilazione.
L'argomento del reverse-engineering è complesso e comunque poco tollerato sul forum.

Prima di terminare, una considerazione: se hai paura che qualcuno possa vedere/capire il codice di una tua classe che (de)cripta qualcosa, allora il problema è il tuo codice. La sicurezza e l'affidabilità di una cifratura non sta nella segretezza del codice (algoritmo), ma nella segretezza delle chiavi o password usate.
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%)
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 13-09-2007, 11:20   #4
amedeoviscido
Senior Member
 
Iscritto dal: May 2005
Città: Napoli - Fuorigrotta
Messaggi: 471
Quote:
Originariamente inviato da andbin Guarda i messaggi
La sicurezza e l'affidabilità di una cifratura non sta nella segretezza del codice (algoritmo), ma nella segretezza delle chiavi o password usate.
Parole sante!
__________________
Acquisti sul mercatino: grabrihc, LucaXbox360, Yarsha,micanto1,American horizo,Fnac,schumyFast,STECCO,Ezechiele25,17
Vendite sul mercatino: musodatopo,alexbands,mspr,anto.wajo
amedeoviscido è offline   Rispondi citando il messaggio o parte di esso
Old 13-09-2007, 13:41   #5
pisto
 
Messaggi: n/a
Quote:
Originariamente inviato da andbin Guarda i messaggi
Guarda che la stessa problematica esiste anche in Java....
Per entrambe le piattaforme comunque esistono degli appositi offuscatori, che, nota bene, non impediscono la decompilazione ma rendono più difficile la comprensione (da parte di una persona, ovviamente) del sorgente ricavato dalla decompilazione.
L'argomento del reverse-engineering è complesso e comunque poco tollerato sul forum.

Prima di terminare, una considerazione: se hai paura che qualcuno possa vedere/capire il codice di una tua classe che (de)cripta qualcosa, allora il problema è il tuo codice. La sicurezza e l'affidabilità di una cifratura non sta nella segretezza del codice (algoritmo), ma nella segretezza delle chiavi o password usate.
ci sono dei metodi, magari agendoc direttamente sul bytecode, per ingannare i decompilatori (parlo di java)?
  Rispondi citando il messaggio o parte di esso
Old 13-09-2007, 22:22   #6
nico88desmo
Senior Member
 
Iscritto dal: Jul 2006
Messaggi: 1568
Quote:
La sicurezza e l'affidabilità di una cifratura non sta nella segretezza del codice (algoritmo), ma nella segretezza delle chiavi o password usate.
Mi sembra di aver sentito il mio professore di sistemi
nico88desmo è offline   Rispondi citando il messaggio o parte di esso
Old 13-09-2007, 22:49   #7
tomminno
Senior Member
 
Iscritto dal: Oct 2005
Messaggi: 3306
Quote:
Originariamente inviato da andbin Guarda i messaggi
ma nella segretezza delle chiavi o password usate.
Probabilmente ci vuole un pò di perizia a nasconderle, io non ci riesco, le chiavi sono sempre riconoscibilissime anche in un programma C++, basta un qualunque programma che analizzi il formato PE di windows che le costanti sono ben evidenti. Ci devono essere delle tecniche ben precise per offuscare delle costanti, ma non ho mai trovato niente a riguardo.
tomminno è offline   Rispondi citando il messaggio o parte di esso
Old 13-09-2007, 23:05   #8
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
Quote:
Originariamente inviato da tomminno Guarda i messaggi
Probabilmente ci vuole un pò di perizia a nasconderle, io non ci riesco, le chiavi sono sempre riconoscibilissime anche in un programma C++, basta un qualunque programma che analizzi il formato PE di windows che le costanti sono ben evidenti. Ci devono essere delle tecniche ben precise per offuscare delle costanti, ma non ho mai trovato niente a riguardo.
Innanzitutto differenziamo tra ciò che possono essere delle semplici costanti usate da un certo algoritmo e ciò che invece è una vera e propria chiave o password usata per la (de)criptazione.

Nel primo caso non ci sono problemi (come ho detto non è importante la segretezza dell'algoritmo). Nel secondo caso la risposta è: no, non è da fare.

Quindi se ti balza anche solo l'idea di memorizzare in un eseguibile una qualunque password o chiave "sensibile" .... beh, cambia velocemente idea.
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%)
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 14-09-2007, 00:21   #9
Matrixbob
Senior Member
 
L'Avatar di Matrixbob
 
Iscritto dal: Jul 2001
Messaggi: 9947
Quote:
Originariamente inviato da seven.7 Guarda i messaggi
Sono un giovane amante della programmazione e il mio primo studio di linguaggio si concentrava tutto sul visual basic .net, stasera però ho avuto un shock tremendo: ho trovato un software online che penso conoscano tutti quelli del reverse engineering... e mi è caduto il mito del .NET per la facilità di decompilazione... Avevo progettato una classe per criptare i testi ma è inutile... con questo programma si vede praticamente tutto allora mi chiedo una sola cosa... vi prego ditemi che si posso criptare le classi o qualcosa del genere perchè altrimenti è inutile programmare in .net... secondo me
Anche io poco tempo fa avevo affrontato questa scoperta:
[GENERICO] E' possibile decompilare 1 programma?

Tu cosa hai usato per decompilare?
__________________
Aiuta la ricerca col tuo PC: >>Calcolo distribuito BOINC.Italy: unisciti anche tu<<
Più largo è il sorriso, più affilato è il coltello.
Matrixbob è offline   Rispondi citando il messaggio o parte di esso
Old 14-09-2007, 00:58   #10
variabilepippo
Senior Member
 
L'Avatar di variabilepippo
 
Iscritto dal: Mar 2007
Messaggi: 1792
Quote:
Tu cosa hai usato per decompilare?
Per applicazioni .NET il decompilatore più diffuso è certamente Reflector.
variabilepippo è offline   Rispondi citando il messaggio o parte di esso
Old 14-09-2007, 09:42   #11
tomminno
Senior Member
 
Iscritto dal: Oct 2005
Messaggi: 3306
Quote:
Originariamente inviato da andbin Guarda i messaggi
Innanzitutto differenziamo tra ciò che possono essere delle semplici costanti usate da un certo algoritmo e ciò che invece è una vera e propria chiave o password usata per la (de)criptazione.

Nel primo caso non ci sono problemi (come ho detto non è importante la segretezza dell'algoritmo). Nel secondo caso la risposta è: no, non è da fare.

Quindi se ti balza anche solo l'idea di memorizzare in un eseguibile una qualunque password o chiave "sensibile" .... beh, cambia velocemente idea.
Da qualche parte la devi pur mettere no? Ad esempio un programma che usa AES per comunicare dove può tenere la chiave? E lo stesso se usasse l'RSA dova la tiene la chiave privata? O la metti nell'eseguibile o su un file da qualche altra parte, ma sempre in chiaro la devi tenere (perchè altrimenti c'è il problema di come nascondere la chiave per cifrare il file che continere la chiave segreta).

Infatti non ho trovato la soluzione corretta al problema, forse bisognerebbe affidarsi a qualche servizio dell'OS o fare in modo che venga ricalcolata a runtime in modo da nascondere la chiave nel codice.
tomminno è offline   Rispondi citando il messaggio o parte di esso
Old 14-09-2007, 11:32   #12
PGI-Bis
Senior Member
 
L'Avatar di PGI-Bis
 
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
E' l'algoritmo che deve essere in chiaro (per non incappare nella cd security through obscurity). I dati necessari al funzionamento dell'algoritmo possono benissimo essere "oscurati": nel senso che una il funzionamento del prodocollo di sicurezza basato su quel sistema di cifratura può essere (e, per quanto ne so, è sempre) condizionato alla conoscenza di uno o più dati da parte di un gruppo ristretto di soggetti (al limite uno solo, come nel caso degli algoritmi a doppia chiave).

Puoi scrivere la password in chiaro nel sorgente del programma? Certamente sì. In quel caso, tuttavia, la segretezza (o disponibilità esclusiva) si estende a tutto il programma e a tutto il PC su cui il programma gira.

Aggiungo: algoritmo in chiaro non significa che il codice che lo realizza debba essere a sua volta in chiaro.
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me!
PGI-Bis è offline   Rispondi citando il messaggio o parte di esso
Old 14-09-2007, 12:03   #13
tomminno
Senior Member
 
Iscritto dal: Oct 2005
Messaggi: 3306
Quote:
Originariamente inviato da PGI-Bis Guarda i messaggi
Puoi scrivere la password in chiaro nel sorgente del programma? Certamente sì. In quel caso, tuttavia, la segretezza (o disponibilità esclusiva) si estende a tutto il programma e a tutto il PC su cui il programma gira.

Aggiungo: algoritmo in chiaro non significa che il codice che lo realizza debba essere a sua volta in chiaro.
Ad esempio mettiamo il caso di un programma client-server in cui l'utente non dovrebbe mettere il naso nella comunicazione, perchè questo potrebbe compromettere la sicurezza dei dati di altri utenti di quella macchina o la sicurezza del sistema (esempio il sistema di monitoraggio informatico usato in Ferrari per scoprire le fughe di informazioni riservate). Da qualche parte sul client devo tenere una chiave, ma questa non deve essere accessibile a nessun utente di quella macchina che potrebbe essere maleintenzionato.
tomminno è offline   Rispondi citando il messaggio o parte di esso
Old 14-09-2007, 12:17   #14
PGI-Bis
Senior Member
 
L'Avatar di PGI-Bis
 
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
E' interessante. Non so se sia possibile. Se il programma deve usare un valore quel valore, prima o poi, apparirà in chiaro.

Intendo per valore in chiaro sia il valore scritto com'è nel sorgente, sia il valore cifrato nel sorgente o in un file o quant'altro. Prima o poi finirà nella memoria del calcolatore: a quel punto l'utente farà un dump. Ci perderà tre diottrie ma alla fine troverà la chiave.

Possiamo cifrare la memoria ma non è una soluzione: sposta il problema dalla chiave alla chiave della chiave.

Do un'occhiata alla schneier perchè questa faccenda mi ricorda il protocollo in cui una delle due parti non è fidata.
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me!
PGI-Bis è offline   Rispondi citando il messaggio o parte di esso
Old 14-09-2007, 12:34   #15
tomminno
Senior Member
 
Iscritto dal: Oct 2005
Messaggi: 3306
Quote:
Originariamente inviato da PGI-Bis Guarda i messaggi
E' interessante. Non so se sia possibile. Se il programma deve usare un valore quel valore, prima o poi, apparirà in chiaro.

Intendo per valore in chiaro sia il valore scritto com'è nel sorgente, sia il valore cifrato nel sorgente o in un file o quant'altro. Prima o poi finirà nella memoria del calcolatore: a quel punto l'utente farà un dump. Ci perderà tre diottrie ma alla fine troverà la chiave.

Possiamo cifrare la memoria ma non è una soluzione: sposta il problema dalla chiave alla chiave della chiave.

Do un'occhiata alla schneier perchè questa faccenda mi ricorda il protocollo in cui una delle due parti non è fidata.
Mi è venuto in mente tardi ma come esempio è sicuramente più fulgido: i player per dischi HD (o anche solo DVD). Se hai i disco originale sei autorizzato a vedere il film, ma non devi poter accedere alle chiavi.
Lasciamo perdere il fatto che sono stati crackati entrambi, per gli HD pare che il bug nel software sia stato risolto e le chiavi sostituite.
Mi chiedo come tengano le chiavi sul software.
tomminno è offline   Rispondi citando il messaggio o parte di esso
Old 14-09-2007, 13:01   #16
PGI-Bis
Senior Member
 
L'Avatar di PGI-Bis
 
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
Ho fatto una breve ricerca per vedere un po' come facciano a craccare 'sti sistemi. Per i DVD il protocollo di sicurezza si chiama CSS. Per gli HD-DVD si chiama AACS.

Sembra che le chiavi di decifrazione siano immagazzinate nell'hardware o nel software. Secondo quanto riportato qui:

http://www.engadget.com/2007/02/24/a...dvd-key-found/

Nel caso di WinDVD una chiave è stata recuperata proprio con l'analisi di una copia della memoria del programma.

Nel caso di chiavi software, quindi, si tratta proprio di "security through obscurity". E non regge agli attacchi del brufoloso (lo dico amorevolmente) di turno.

Sullo schneier leggo che la conservazione sicura di queste chiavi è realizzata attraverso chip tamper proof, cioè a prova di forzatura.
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me!
PGI-Bis è offline   Rispondi citando il messaggio o parte di esso
Old 14-09-2007, 13:26   #17
Jorgensen
Member
 
Iscritto dal: Jul 2006
Città: Padova
Messaggi: 62
Dunque in visual studio 6.0 (e dovrebbe esserci anche nel .net) c'era la possibilità di realizzare un eseguibile che riunisse in tutt'uno quello che serviva, in pratica non avevi librerie o altro esterne per farlo funzionare, scusa la poca competenza in materia . Utilizzando questo sistema in combinazione con un pe-crypter(tipo Themida o vmprotect) saresti al sicuro da eventuali debugger/decompiler/disassembler ecc.
Jorgensen è offline   Rispondi citando il messaggio o parte di esso
Old 14-09-2007, 13:58   #18
tomminno
Senior Member
 
Iscritto dal: Oct 2005
Messaggi: 3306
Quote:
Originariamente inviato da PGI-Bis Guarda i messaggi
Ho fatto una breve ricerca per vedere un po' come facciano a craccare 'sti sistemi. Per i DVD il protocollo di sicurezza si chiama CSS. Per gli HD-DVD si chiama AACS.

Sembra che le chiavi di decifrazione siano immagazzinate nell'hardware o nel software. Secondo quanto riportato qui:

http://www.engadget.com/2007/02/24/a...dvd-key-found/

Nel caso di WinDVD una chiave è stata recuperata proprio con l'analisi di una copia della memoria del programma.
Si ma pare fosse un bug del programma adesso risolto, adesso le chiavi lette dal supporto sono cifrate anche in memoria.
Solo che risolto un problema rimane aperto quello di fondo, ovvero tenere oscurata la chiave che consente al programma di andare a leggere le chiavi sul supporto che servono a decodificare il supporto stesso. Questa purtroppo da qualche parte la devono mettere e già mi chiedo come siano riusciti ad oscurarla nei binari.

Direi che non c'è modo di tenere al sicuro una costante.

Quote:
Nel caso di chiavi software, quindi, si tratta proprio di "security through obscurity". E non regge agli attacchi del brufoloso (lo dico amorevolmente) di turno.
Tutto è "security through obscurity", gli algoritmi di cifratura sono sicuri finchè è oscurata la chiave

Quote:
Sullo schneier leggo che la conservazione sicura di queste chiavi è realizzata attraverso chip tamper proof, cioè a prova di forzatura.
Questo esclude i software... Fino all'avvento del TC.
tomminno è offline   Rispondi citando il messaggio o parte di esso
Old 14-09-2007, 14:03   #19
PGI-Bis
Senior Member
 
L'Avatar di PGI-Bis
 
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
C'è sempre una parte nascosta. Il fatto è che non è necessario che quella parte sia nota ad entrambi i soggetti per poter garantire un fatto. Prendi ad esempio gli algoritmi a doppia chiave, pubblica e privata. Io posso spedire un messaggio a Ciccio avendo la garanzia che nessuno oltre a Ciccio sarà in grado di leggerlo semplicemente disponendo di un "numero" noto a tutti (la chiave pubblica di Ciccio).

Penso sia un meccanismo simile a questo quello che ci dovrebbe interessare nel caso in questione. Anzichè nascondere la chiave, è possibile fare in modo che la conoscenza della chiave sia irrilevante?

Mi sono arrovellato un po' sulla questione ma non sono arrivato a nulla. Fortunatamente questo non significa niente perchè io non sono un esperto di sicurezza.
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me!
PGI-Bis è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


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 ...
FRITZ!Repeater 1700 estende la rete super-veloce Wi-Fi 7 FRITZ!Repeater 1700 estende la rete super-veloce...
Cloud sovrano: l'approccio di Broadcom c...
HONOR conferma l'arrivo in Italia di Mag...
La Cina sotto pressione impone maniglie ...
OpenAI integra le app in ChatGPT per tra...
NVIDIA sarebbe pronta a tagliare la prod...
Prezzo minimo storico per iPhone 16 Pro:...
Riot Games scopre una falla nei BIOS che...
Beats in super offerta su Amazon: aurico...
Batterie elettriche, Samsung SDI e Stell...
Clivet presenta Fullness, la pompa di ca...
SpaceX lancerà 167 razzi spaziali...
Yakuza Kiwami 3 e Dark Ties protagonisti...
Privacy a rischio: ecco la VPN che regis...
SpaceX ha annunciato che un satellite St...
ASUSTOR presenta i nuovi NAS Lockerstor ...
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: 20:22.


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