Introduzione agli strumenti di ingegneria inversa

Il metodo di reverse engineering era originariamente applicato solo all'hardware, ma ora anche a computer, database e persino DNA umano. Nell'area della sicurezza informatica, il reverse engineering può essere utilizzato per determinare i dettagli di una violazione del modo in cui l'attaccante ha avuto accesso alla rete e in che modo è stato violato il sistema. I criminali informatici utilizzano l'intera gamma di tattiche di pirateria informatica per penetrare nelle reti aziendali dietro l'attacco. Ha un obiettivo particolare e ha esperienza, ispirazione, struttura e finanziamenti. In questo senso, il reverse engineering ci aiuta a rilevare le loro tattiche in futuro per prevenirlo.

Diversi strumenti di reverse engineering sono disponibili in Kali Linux. Ecco alcuni degli strumenti più importanti utilizzati nell'ingegneria inversa di Kali Linux.

Strumenti per il reverse engineering

1. IDA
IDA è diventata la guida di fatto per lo studio di software aggressivo, test di vulnerabilità e convalida COTS. Questo offre una vasta gamma di funzionalità e funziona molto bene su tutte le piattaforme, come le piattaforme Windows, Linux e Mac OS X. Ha anche diversi plugin che consentono di estendere ulteriormente la funzionalità del demolitore. IDA 5.0 è disponibile gratuitamente sul sito e può essere scaricato facilmente. Nel 2001, IDA Pro è stata premiata con il 18 ° Technical Excellence PC Magazine Awards. Era un predecessore architettonico di Microsoft. Netto.
Il vantaggio principale di questo metodo è che qualsiasi aspetto dei dati visualizzati può essere modificato in modo interattivo:
• Fornire i nomi delle funzioni, variabili, ecc.
• Creazione di diagrammi e diagrammi di flusso del codice per semplificare la comprensione del codice disassemblato.
• Utilizzare le informazioni sul tipo di argomenti della funzione e le definizioni della struttura C ++ per denominare automaticamente argomenti e variabili.
• Riconoscere e denominare automaticamente le funzioni di libreria standard nel codice assembly.

2. Nudge4j
Nudge4j è un piccolo pezzo di codice Java che consente all'utente di accedere all'applicazione Java. È progettato per essere utilizzato durante lo sviluppo per creare un ambiente per testare il software su un'applicazione in esecuzione. Inoltre, i controlli di regressione e l'analisi di integrazione per esercitare alcune delle funzionalità chiave che è possibile mantenere uno snippet di codice Nudge4j prima di inviare la versione finale.
Come se il browser fosse un telecomando più intelligente il controllo del tuo programma Java dal browser. Per eseguire JVM inviando il codice del browser, prova del software Live.

3. OllyDbg
OllyDbg è un debugger a 32 bit a livello di assemblatore di Microsoft Windows. Il focus sull'analisi del codice binario lo rende particolarmente utile laddove l'origine è inaccessibile. OllyDbg è un'applicazione shareware, ma puoi scaricarla gratuitamente e utilizzarla.
Alcune funzionalità di OllyDbg sono le seguenti
1. Analisi del codice: traccia record, rileva switch di procedure, chiamate API, tabelle, loop costanti e stringhe.
2. Cerca cartella oggetti: individua oggetti e routine di libreria.
3. Salvare le patch tra le sessioni, restituirle ai file eseguibili e correggere gli aggiornamenti.
4. 3DNow, MMX e istruzioni per i tipi di dati SSE e le estensioni incluso Athlon.
5. Riconosce strutture complesse come l'invito al procedimento.
6. Traccia l'esecuzione del programma, registra gli argomenti delle funzioni conosciute.
7. Trovare comandi errati e mascherare sequenze binarie.
8. Esamina e modifica la memoria, imposta punti di interruzione e mette in pausa il programma al volo.
9. Immettere le patch tra le sessioni, ripristinarle in file eseguibili e correggere gli aggiornamenti.

4. Valgrind:
Valgrind è un pacchetto di profiling e debugging di Linux. Eliminando i periodi di ricerca dei bug e rendendo i programmi più affidabili, possiamo eliminare gli errori di gestione della memoria e di threading con il suo strumento. Inoltre, è possibile eseguire una profilazione dettagliata per accelerare i processi del programma e creare nuovi strumenti utilizzando Valgrind. La distribuzione di Valgrind comprende attualmente sei strumenti per la produzione
• Memcheck (è un rilevatore di errori di memoria)
• DRD e Helgrind (è un rilevatore di errori a due fili)
• cachegrind (Profiler del ramo e cache)
L'industria del reverse engineering è vista dai produttori come un mezzo significativo per mantenere la concorrenza, o alcuni possono considerarlo un mezzo per comprendere i difetti di progettazione e rilavorazione. Tuttavia, Kali Linux ci offre alcuni strumenti molto importanti e ben noti per il reverse engineering. Inoltre, ci sono molti altri strumenti per il reverse engineering, ma questi strumenti sono già inclusi ed escono dalla confezione di Kali Linux.

5. Dex2jar
Una raccolta di strumenti e librerie che possono essere utilizzate per migliorare lo sviluppo di Android. Dex e Java. file di classe. Dex2jar include una raccolta di librerie Java che semplificano le attività di sviluppo relative ad Android e semplificano i progetti APK.
Alcuni componenti importanti di Dex2jar sono i seguenti:

  1. Il formato Dalvik Executable (.dex / .odex) è destinato al lettore dex. Ha un'API simile a ASM nel leggero.
  2. Il traduttore dex ha lo scopo di fare il lavoro di conversione. L'istruzione dex legge il formato del file dex e lo converte in formato ASM dopo che alcuni sono stati ottimizzati.
  3. Dex-è usato dal traduttore dex per rappresentare le istruzioni per dex.
  4. D2j-smali smantella dex in piccolo e assembla dex da smali. Diverse implementazioni smali / baksmali, stessa sintassi, ma supportiamo la escape in stile desc "Lcom / dex2jar \ t \ u1234".

6. Androguard
Androguard è principalmente un'app scritta in pitoni per giocare con * Dex / Odex (.dex) (disassemblare, abbattere), * Risorse Android (.arsc). * XML di Android (.xml) * Dex / Odex (macchina virtuale Dalvik), * APK (.apk). Inoltre viene fornito con controllo Python per OSX / Linux / / Windows.
Alcune caratteristiche importanti di Androguard sono le seguenti
1. Il primo decompilatore Dalvik nativo (DAD) viene decompilato dal bytecode al codice sorgente java.
2. Server open source software Android.

Conclusione

Con l'aiuto di questi dispositivi di ingegneria inversa, godrai dei servizi più moderni, dal momento che significa che non devi replicare la ricerca che altri hanno fatto e che puoi scegliere un sistema. Quindi, in questo articolo, abbiamo visto diversi strumenti di reverse engineering. Spero che questo articolo ti sia stato utile.

Articoli consigliati

Questa è una guida agli strumenti di ingegneria inversa. Qui discutiamo l'introduzione e gli strumenti per il reverse engineering. Puoi anche consultare i nostri altri articoli suggeriti per saperne di più–

  1. Ingegneria inversa con Python
  2. Che cos'è lo sviluppo software?
  3. Che cos'è Nmap?
  4. Installa Kali Linux
  5. Invertire in JavaScript

Categoria: