Scarica PDF Scarica PDF

Hai mai avuto la voglia di capire quali sono le protezioni che vengono applicate a un programma per prevenirne la copia e la distribuzione illegale? Con gli strumenti giusti è possibile esaminare il funzionamento interno di un programma e usare la tecnica denominata "reverse-engineering" per apportare le modifiche desiderate. Occorre possedere delle ampie conoscenze sulla programmazione in assembly e in codice esadecimale prima di continuare e dovrai procurarti un "disassembler" (un programma che converte il codice macchina in assembly). Quando avrai raggiunto la confidenza necessaria con il codice, potrai modificare le DLL a tuo piacimento in modo che il programma corrispondente possa funzionare correttamente senza essere acquistato, registrato o attivato.

Passaggi

  1. 1
    Impara a programmare in assembly e a manipolare il codice esadecimale. Se hai la voglia di imparare come si "cracca" un software o un programma (cioè come si modifica il codice originale con lo scopo di aggirare le restrizioni o le protezioni anti-copia e anti-pirateria), dovrai avere una buona comprensione del codice assembly. Quest'ultimo è un linguaggio di programmazione a basso livello.[1] L'assembly deriva direttamente dal codice macchina ed esiste una versione di assembly specifica per il tipo di architettura hardware di un computer. La maggior parte dei linguaggi assembly utilizzano il sistema binario o esadecimale per visualizzare il codice.
  2. 2
    Installa un disassembler. Per poter analizzare e modificare il contenuto di una DLL, occorre usare diversi strumenti software, incluso un disassembler. IDA Pro rappresenta un'ottima opzione, dato che integra al suo interno un disassembler e un debugger. Esiste anche una versione gratuita del programma che puoi scaricare da questo URL https://www.hex-rays.com/products/ida/support/download_freeware. Tuttavia, è bene precisare che le funzioni della versione gratuita sono limitate rispetto a quelle della versione completa. In alternativa, puoi provare a usare dotPeek. Si tratta di un decompilatore di DLL in grado di decompilare il codice assembly prodotto per il framwork .NET e visualizzarlo in codice C#.[2] Un'altra opzione a disposizione è OllyDBG, un programma gratuito che permette di visualizzare il contenuto di un file DLL.
  3. 3
    Avvia l'app che vuoi craccare usando il disassembler che hai scelto. La procedura da seguire varia leggermente in base al disassembler che hai scelto di utilizzare. In questo modo avrai modo di visualizzare l'elenco dei file DLL che verranno richiamati dall'applicazione. Usa un debugger per esaminare le funzioni presenti nel file DLL e richiamate dal programma.[3]
  4. 4
    Individua la funzione che tiene conto del periodo di prova gratuito. Molti programmi usano un semplice timer come protezione anti-copia. Quando il timer arriva a zero, l'utente non sarà più in grado di accedere al programma. Per questo motivo l'obiettivo consiste nell'individuare la funzione che gestisce questo timer e inibirne il funzionamento.
    • Se il programma che desideri craccare utilizza un sistema di protezione diverso, dovrai cercare la routine che gestisce tale sistema.
  5. 5
    Imposta un punto di interruzione del debugger sulla funzione che gestisce il timer. Quando hai individuato la routine che gestisce il timer del programma, imposta il disassembler in modo che interrompa l'esecuzione del programma proprio quando viene richiamata tale funzione. In questo modo potrai focalizzare l'attenzione solo sul codice relativo alla funzione in esame.
  6. 6
    Modifica il codice della funzione che gestisce il timer. Adesso che hai individuato il codice sorgente da modificare potrai modificarlo in modo che il programma continui a funzionare correttamente. Per esempio, puoi impedire che il timer raggiunga il limite oltre il quale scatta il blocco dell'esecuzione dell'app oppure puoi evitare che la funzione in oggetto venga richiamata all'interno del programma a ogni avvio.
  7. 7
    Ricompila le DLL del nuovo programma. Dopo aver apportato le modifiche necessarie al codice sorgente, dovrai ricompilarlo per creare la versione modificata del programma che utilizzerà le tue DLL e non quelle originali.[4]
    Pubblicità

Avvertenze

  • La pirateria software è illegale, quindi scegli di far parte di questo mondo a tuo rischio e pericolo.
  • Modificare la versione originale di un software commerciale è un'azione illegale.
Pubblicità

wikiHow Correlati

Convertire un Numero dal Sistema Binario a Quello DecimaleConvertire un Numero dal Sistema Binario a Quello Decimale
HackerareHackerare
Impostare la Larghezza e l'Altezza di un Immagine in HTMLImpostare la Larghezza e l'Altezza di un Immagine in HTML
Aggiungere un Link a un'ImmagineAggiungere un Link a un'Immagine
Centrare un'Immagine Usando il Codice HTMLCentrare un'Immagine Usando il Codice HTML
Compilare un Programma C Utilizzando il Compilatore GNU GCCCompilare un Programma C Utilizzando il Compilatore GNU GCC
Inserire gli Spazi in HTML
Aprire un File XMLAprire un File XML
Diventare un HackerDiventare un Hacker
Allineare Elementi in HTMLAllineare Elementi in HTML
Compilare ed Eseguire un Programma Java Utilizzando il Prompt dei ComandiCompilare ed Eseguire un Programma Java Utilizzando il Prompt dei Comandi
Chiamare un Metodo in JavaChiamare un Metodo in Java
Creare un Menu a Tendina in HTML e CSSCreare un Menu a Tendina in HTML e CSS
Usare i Colori in un Programma in CUsare i Colori in un Programma in C
Pubblicità

Informazioni su questo wikiHow

Lo Staff di wikiHow
Co-redatto da:
Staff di wikiHow - Redazione
Questo articolo è stato scritto in collaborazione con il nostro team di editor e ricercatori esperti che ne hanno approvato accuratezza ed esaustività.

Il Content Management Team di wikiHow controlla con cura il lavoro dello staff di redattori per assicurarsi che ogni articolo incontri i nostri standard di qualità. Questo articolo è stato visualizzato 39 083 volte
Categorie: Programmazione
Questa pagina è stata letta 39 083 volte.

Hai trovato utile questo articolo?

Pubblicità