Oppure

Loading
04/10/10 16:11
Stefano
Salve a tutti, avrei una domanda un po' complicata da porvi..
Ho la necessità di "dare via" alcune mie applicazioni contenenti alcune password necessarie a decriptare il contenuto di alcuni file..
ad esempio nel mio "defines.h" ho:

static char CHECKSUMKEY[] = "lamiapassword"


ora, utilizzando Visual Studio come IDE, ho specificato anche come output "Assembly con codice sorgente"...andando ad aprire il file main.asm e scorrendo il file mi sono trovato davanti a un codice del genere:
_CHECKSUMKEY DB    'lamiapassword', 00H
    ORG $+3


per cui per un bravo smanettone è "facile" beccare la password in pochi minuti..
esiste quindi un modo per nascondere i dati o rendere piu difficile il disassembly?

Grazie a tutti anticipatamente ;)
aaa
04/10/10 17:12
TheKaneB
Non basterebbero interi libri per esaurire ogni dettaglio dell'argomento.

In generale, inserire una password all'interno di un programma è sbagliato.
Potresti magari spezzarla in sotto stringhe, da ricomporre, o da manipolare in modo pseudocasuale per recuperare la password originale a runtime. Un lamer si fermerebbe già al disassembly, mentre chiunque capisca un po' di assembly potrà comunque risalire all'algoritmo e ricostruire la password.

Ci sono altri metodi via via più sofisticati, ma alcuni di questi vanno contestualizzati, in base al particolare tipo di utilizzo per cui l'applicazione è stata progettata.
aaa
04/10/10 18:25
Stefano
innanzi tutto grazie per la risposta..
il mio programma è un editor di mappe per un gioco che sto realizzando..per cui vorrei proteggere le mappe in modo che solo con il mio editor possano essere utilizzate (e aperte).

Avresti per caso qualche articolo o qualche pagina di libro da consigliarmi in merito? Ti ringrazio ;)
aaa
04/10/10 18:28
TheKaneB
Postato originariamente da Stefano:

innanzi tutto grazie per la risposta..
il mio programma è un editor di mappe per un gioco che sto realizzando..per cui vorrei proteggere le mappe in modo che solo con il mio editor possano essere utilizzate (e aperte).

Avresti per caso qualche articolo o qualche pagina di libro da consigliarmi in merito? Ti ringrazio ;)


odio per principio la tecnica di bloccare il modding dei contenuti (tutti i grandi produttori di VG incitano invece la produzione di mods!)... comunque appena trovo qualcosa di appropriato ti linko la pagina.

Intanto, come al solito, ti invito a leggerti un po' di articoli su gamedev.net e gameprog.it
aaa
04/10/10 18:44
Stefano
Postato originariamente da TheKaneB:

odio per principio la tecnica di bloccare il modding dei contenuti (tutti i grandi produttori di VG incitano invece la produzione di mods!)... comunque appena trovo qualcosa di appropriato ti linko la pagina.

Intanto, come al solito, ti invito a leggerti un po' di articoli su gamedev.net e gameprog.it


ti capisco..ma il mio progetto prevederà l'estensibilità tramite una serie di SDK..perchè ritengo che rilasciare un gioco open source sia un po' controproducente..ma non siamo qui a parlare di questo ;)
Tuttavia ho già iniziato ad adocchiarmi in giro ma ho visto che l'argomento è alquanto complesso e già ho visto che si parla di anti-disassembly ( springerlink.com/content/f58j3535h7207765/… )...avevi una idea del genere anche tu?
Ultima modifica effettuata da Stefano 04/10/10 18:45
aaa
04/10/10 19:20
TheKaneB
Postato originariamente da Stefano:

Postato originariamente da TheKaneB:

odio per principio la tecnica di bloccare il modding dei contenuti (tutti i grandi produttori di VG incitano invece la produzione di mods!)... comunque appena trovo qualcosa di appropriato ti linko la pagina.

Intanto, come al solito, ti invito a leggerti un po' di articoli su gamedev.net e gameprog.it


ti capisco..ma il mio progetto prevederà l'estensibilità tramite una serie di SDK..perchè ritengo che rilasciare un gioco open source sia un po' controproducente..ma non siamo qui a parlare di questo ;)
Tuttavia ho già iniziato ad adocchiarmi in giro ma ho visto che l'argomento è alquanto complesso e già ho visto che si parla di anti-disassembly ( springerlink.com/content/f58j3535h7207765/… )...avevi una idea del genere anche tu?


hai trovato una pubblicazione molto interessante! Beh, si, come avrai capito è un campo veramente vasto e difficile da padroneggiare.
Il mio consiglio è "scegli una tecnica che sia *abbastanza* forte", perchè la sicurezza ASSOLUTA non la potrai mai trovare :-)
Devi scegliere qualcosa che dia un giusto compromesso tra difficoltà di cracking e difficoltà di implementazione...
aaa