PDA

Visualizza versione completa : Come proteggere/criptare i programmi ?


Blisset
17-11-2001, 11.05.36
Salve, ho scritto un programma in C e vorrei proteggerlo criptandone il
contenuto, ma lasciandolo ovviamente eseguibile.

Ho provato prima con i vari crypter freeware, ma nessuno mi dà garanzie di
funzionamento; spesso il programma criptato va in crash.

Allora ho provato con AsProtect 1.2, ma a quanto pare cripta con una chiave
standard di defualt non personalizzabile, per cui basta trovare il decripter
adatto (de-asprotect) per sproteggerlo, per cui non serve a nulla, a quanto
ho capito.

Conoscete un crypter che protegga il programma con una chiave casuale o
personalizzabile, in modo che sia praticamente impossibile riuscire a
decodificarla senza conoscerla a priori ?

Grazie a tutti

alexmaz
20-11-2001, 23.54.53
E poi si dice che l'open source avanza... :D:D:D

comunque, il tutto a poco senso, secondo me... nel momento in cui uno esegue il tuo programma, se proprio vuole con un debugger e tanta fatica disassembla il tuo codice, che sia criptato o meno...

Blisset
21-11-2001, 15.10.25
Beh, OpenSource fino a un certo punto.
Ci sono programmi che scrivo per uso free, e altri su cui invece mi seccherebbe che qualcuno si copiasse i sorgenti o li modificasse con un Resource Hacherino qualsiasi dopo tanto lavoro.
Mica possiamo mettere open source tutto, altrimenti non esisterebbe nemmeno la professione di programmatore, saremmo tutti programmatori per hobby.

Comunque mi sa che ti sbagli, perchè ad es. in AsProtect, c'è una funzione per proteggere il programma dai debugger e non è solo Asprotect che ce l'ha ovviamente.

Se il programma vede che c'è un debugger in uso, tipo SoftICE, si blocca e dice: spegni il SoftICE e poi ne riparliamo :)

Comunque proprio l'AsProtect cripta ben poco, vorrei qualche programma che lo criptasse meglio, magari con un codice personalizzato a 128 bit, e allora altro che debugger !

alexmaz
21-11-2001, 15.30.10
Se uno ha conoscenze tali da decompliare il tuo codice e ricavarne qualcosa di utile, non gli serve il tuo codice... :D

cmq secondo me è difficile individuare un debugger qualunque, e se anche il codice è criptato, quello in esecuzione in memoria no, per ovvi motivi...

debe80
22-11-2001, 15.45.04
Fino ad ora non è ancora stata creata la protezione definita (vedi WinXP ad esempio) nel senso che in un modo o nell'altro per quanto complicata possa essere in pasto ad un buon cracker è destinata a cadere....comunque Asprotect offre una buona protezione contro i cracker meno esperti (che sono la maggioranza)...la soluzione ideale comunque sarebbe quella di programmarsi un packer da soli....

Puppauz
22-11-2001, 21.31.56
Esistono comunque molti metodi per sorpassare la protezione che rileva SoftIce...
Non esiste un programma conosciuto che cripta programmi che sia completamente sicuro... :rolleyes:

Sergio Neddi
22-11-2001, 22.18.12
Condivido, esiste una marea di compressori/criptatori, però più o meno tutti quelli che ho provato sono riuscito anche ad aprirli.

Il fatto è che l'eseguibile, una volta lanciato, deve poter venire decodificato "al volo" per poter essere eseguito, quindi deve portarsi con se la routine di decrittazione, ed allora addio sicurezza della codifica a venti milioni di bit.

Esistono infatti programmi in grado di catturare il file decrittato appena finita la routine di decrittazione, senza essere dei veri debugger ed infatti ho provato dei criptatori che in teoria dovrebbero riconoscere i vari debugger che invece si sono lasciati imbrogliare!

Quindi impossibile pensare di poter avere una protezione perfetta, altrimenti perché ci sarebbero tanti programmi craccati?

Bisogna invece pensare che, anche se proprio sicura, una protezione valida comunque c'è, ed è rappresentata dai vari criptatori che conosciamo.

Infatti non è sempre così facile scavalcare queste protezioni, e bisogna vedere se chi si trova davanti il programma lo sa fare oppure se il gioco vale la candela: infatti penso che ben pochi sanno decrittare un programma compresso con i vari packer, così come pochi di quelli che lo sanno fare avranno la voglia di cimentarsi nell'impresa, a meno che non valga veramente la pena.

Altrimenti chi glie lo fa fare?

Secondo me basterebbe quindi codificare il programma con un buon packer e per il 99% dei casi nessuno ci metterà il naso.

Cercare la soluzione perfetta è inutile e faticoso.