Come si crea un software craccato? Perché gli sviluppatori non lo evitano?


19 Agosto 2020
Come si crea un software craccato? Perché gli sviluppatori non lo evitano?

Un software craccato viene creato con l’uso di debugger. Un debugger è uno speciale software che permette ai programmatori di decostruire il loro software nelle sue parti costitutive allo scopo di trovare bug, e quindi de-bugging. Inoltre i debugger possono essere usati per il reverse-engineering o per vedere cosa c’è all’interno del software, per imparare la sua logica. Quest’ultimo metodo è utilizzato soprattutto dai ricercatori di malware per studiare cosa fanno i malware all’interno. Ma può anche essere utilizzato da un hacker per “crackare” (o bypassare) la registrazione legale del software o, talvolta, per modificare il normale comportamento del software, ad esempio iniettandovi un codice dannoso.

software craccato

L’aggressore smonta il codice binario (che viene sempre fornito con software sotto forma di file .exe e .dll su Windows, e per lo più come eseguibili Unix all’interno dei pacchetti .app su Mac), quindi con un debugger studia il codice binario e cerca di individuare la logica di registrazione per bypassarla. La difficoltà principale è quella di localizzare la linea corretta tra milioni e milioni di altre linee di codice simili. Non molte persone sono in grado di farlo ed è per questo che il “cracking” del software è un’abilità speciale. Quindi ora sapete come il software è “incrinato”.

Perché non è possibile impedire il crack? Tutto si riduce al fatto che qualsiasi codice software deve essere letto o dalla CPU (in caso di codice nativo binario) o da un interprete o da un compilatore JIT (in caso di codice JavaScript o .NET.) Ciò significa che se c’è un modo di leggere/interpretare qualcosa, non importa quanto sia complesso o contorto, un aggressore con sufficiente conoscenza e perseveranza sarà in grado di leggerlo e quindi di decifrarlo.

C’è però un argomento secondo cui il software basato su cloud è più sicuro (programmi come ad esempio evernote), il che è vero, dato che il suo codice (binario) rimane sul server e gli utenti finali non hanno accesso diretto ad esso. E anche se il software basato sul cloud è sicuramente il futuro, ha alcuni grossi svantaggi che non gli permetteranno mai di sostituire completamente il software convenzionale.

Per fortuna il lato positivo è che ci sono tanti altri clienti che apprezzano il lavoro che si fa per creare software e sono pronti ad acquistarlo e non utilizzano software craccato.

2 comments

  1. sauroweb -

    non sono gli hacker a crackare un programma, ma i kracker……

    1. Tuttoinformatico -

      In genere con il termine hacker si intende una persona che si impegna nell’affrontare sfide intellettuali per aggirare o superare creativamente le limitazioni che gli vengono imposte il termine cracker invece viene generalmente attribuito ai criminali informatici. Ho utilizzato il termine Hacker perchè un software può essere craccato anche per scopi non criminali, come ad esempio un software realizzato da terroristi.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *