Come configurare smartphone e PC. Portale informativo
  • casa
  • Consigli
  • Unità flash per editor esadecimali. I migliori editor esadecimali gratuiti (hex)

Unità flash per editor esadecimali. I migliori editor esadecimali gratuiti (hex)

Istruzioni dell'editor esadecimale

  • Il programma è molto utile soprattutto per coloro a cui piace assegnare quello di qualcun altro - a se stessi) Link per il download (in fondo all'argomento).
  • Hex - editor (eng. Hex - editor), editor esadecimale - applicazione per la modifica dei dati, in cui i dati sono presentati in "raw.
  • Questo articolo parlerà del lavoro nell'editor esadecimale gratuito Free Hex Editor Neo, utilizzando l'esempio della modifica del file BkEnd.dll da.
  • Nella prima parte di una serie di articoli, abbiamo considerato un esempio di esame di un file in un editor esadecimale (con l'analisi minima) e.
  • Per questo vengono utilizzati i cosiddetti editor esadecimali. Solitamente sorge la primissima domanda: quale editore di tutti. file, nel secondo - byte di istruzione, nel terzo - la sua designazione mnemonica.

Pubblicato il 03/09/2013 da Vitaly Onyanov 1. Un po' di editor esadecimali e file Come sapete, qualsiasi file memorizzato sull'hard disk di un computer è una sequenza di parole macchina - byte. Un byte, a sua volta, è composto da 8 bit, ognuno dei quali può assumere il valore "0" o "1", il che significa che un byte può assumere 28 = 256 valori nell'intervallo da 0 a 255. Il numero 25610 scritto in sistema esadecimale, è un numero rotondo di tre cifre - 10016, ovvero non sono necessarie più di 2 cifre per rappresentare un numero compreso nell'intervallo 0-255. Ciò significa che il valore di ogni byte è molto conveniente per scrivere un numero a due cifre in notazione esadecimale. L'editor esadecimale ci mostra il file nel modo in cui lo "vede" la macchina, ovvero una sequenza di byte. Ad esempio, aprendo un file in un editor, vedremo una matrice composta da 16 colonne e il numero di righe dipende dalla dimensione del file. Ogni valore nella matrice corrisponde a un byte, scritto in un numero esadecimale di due cifre. Modificando il valore del byte desiderato, possiamo modificare di conseguenza il file stesso. Inoltre, accanto alla tabella possiamo vedere: A sinistra della matrice, viene visualizzata una riga di numeri: ogni riga corrisponde a un numero che indica l'indirizzo/offset del primo byte di questa riga. In questo caso, il passo degli indirizzi è uguale al numero di colonne. Sopra la matrice viene visualizzato un altro righello: sopra ogni colonna viene visualizzato l'offset del byte in questa colonna rispetto al primo byte della riga corrispondente. La somma del numero corrispondente alla i-esima riga e del numero corrispondente alla j-esima colonna è l'indirizzo / offset del byte (i; j) all'intersezione della riga presa e della colonna presa. A destra della matrice vengono visualizzati gli stessi dati, ma in una diversa interpretazione. La visualizzazione alternativa più comunemente utilizzata dei dati come testo ASCII è che i byte i cui valori corrispondono a caratteri non stampabili vengono visualizzati come punti (·). Puoi anche modificare i valori in quest'area. 2. Installazione di Free Hex Editor Neo Scarica Free Hex Editor Neo dal sito ufficiale. Il programma è gratuito, al momento della stesura di questo articolo, l'ultima versione era la 5.14. Installa seguendo le istruzioni del programma di installazione senza modificare le impostazioni predefinite. Al primo avvio, il programma proporrà di selezionare la modalità dell'interfaccia. Scegliamo "Utente principiante", questo è più che sufficiente. 3. Lavorare con il file nell'editor esadecimale Ora apriamo il file che dobbiamo "correggere" selezionando "File" - "Apri" - "Apri file" nel menu di Free Hex Editor Neo. Nel mio caso, questo è il file BkEnd.dll che si trova nella cartella con 1C: Enterprise 7.7 installato (per impostazione predefinita, "C: \ Program Files \ 1Cv77 \ BIN") per l'articolo Installazione di 1C: Enterprise 7.7 su Microsoft SQL Server 2008 R2. Ad esempio, devo scrivere il valore eb in un byte con offset 000d9cca. Per fare ciò, trovo la riga "000d9cco" e la colonna "0a", faccio doppio clic sulla cella desiderata e inserisco un nuovo valore. Procedendo allo stesso modo, sto apportando le seguenti modifiche: Per correggere l'errore "Richiede MS SQL Server 6.5 + Service Pack 5a o superiore!" modificare i campi: all'offset 000d9cca modificare il valore 83 in eb nell'offset 000d9ccb modificare il valore di e8 in 15 nell'offset 000db130 modificare il valore 83 in eb nell'offset 000db131 modificare il valore di e8 in 10 Per correggere l'errore “L'ordinamento impostato per il database è diverso da quello di sistema! ": All'offset 0018a79d cambiamo il valore 75 in eb Per correggere l'errore" Sintassi errata vicino alla parola chiave "TRANSACTION" La frase DUMP TRANSACTION% s WITH TRUNCATE_ONLY, che si trova all'offset 002856B0 , viene sostituita dalla frase ALTER DATABASE% s SET RECOVERY SIMPLE Per correggere l'errore "I dati di base non possono essere aperti in modalità single-user ", cambiamo i campi: all'offset 0028549c cambiamo il valore di 64 in 6b all'offset 0028549d cambiamo il valore da 62 a 70

Non solo puoi selezionare, ma anche visualizzare, modificare, sostituire e analizzare i dati, scarica Free Hex Editor Neo di seguito.

Utilizzo dell'editor esadecimale per il client RO. exe possono essere modificati manualmente per qualsiasi beneficio. Se tu.

Video gratuito Editor esadecimale Neo. Ecco alcuni video relativi a Free Hex Editor Neo. Come usare Gratuito.


HxD per la modifica dei file in codice esadecimale. Iniziando a scrivere una recensione dell'editor esadecimale con il nome breve HxD, noi e.


Creato da 04 luglio 2015

NOTA
Le cifre non sono visualizzate in questa pagina, ma le puoi trovare nel libro.

Quello che faremo ora è molto interessante dal mio punto di vista. Questo sarà il tuo primo programma in codice macchina (e molto probabilmente l'unico))).

Assembly è un linguaggio di basso livello, ma è pur sempre un linguaggio. Hai provato a scrivere un programma in codici macchina? Proviamo ora.

È possibile scrivere un programma senza compilatori-assemblatori e altri strumenti, utilizzando qualsiasi editor esadecimale (o editor esadecimale o editor esadecimale).

Tuttavia, l'analisi dei programmi in un editor esadecimale è piuttosto utile. Soprattutto per coloro che lavoreranno con l'elettronica - dopotutto, i microprocessori non capiscono né Pascal né C ++. Sebbene ci siano dispositivi e programmi speciali che queste lingue "spiegano" loro.

Per prima cosa hai bisogno di un editor esadecimale. Puoi usare quello che hai a portata di mano. Tuttavia, utilizzerò il summenzionato McAfee FileInsight v2.1. Questo editor esadecimale può essere scaricato gratuitamente. Tutte le azioni descritte di seguito sono valide per questo particolare editor.

Quindi, hai installato l'editor esadecimale. Lo lanciamo. Facciamo clic sul pulsante APRI, troviamo uno dei file COM che abbiamo creato, ad esempio debug_1.com, e lo carichiamo nell'editor.

Quando il file è caricato, vedrai quanto segue nell'editor (vedi anche Figura 1.12):

00000000 B4 02 B2 41 CD 21 CD 20 ... A.!. Puoi aprire altri due file che abbiamo creato: mycode.com (creato in emu8086) o ATEST.COM (che abbiamo creato nella sezione). Vedrai la stessa cosa. Ciò significa che tutti gli assemblatori generano lo stesso codice macchina. Cioè, le differenze nel testo dei programmi non sono fondamentali: sono causate solo dalle differenze negli stessi assemblatori.

NOTA
Se nel tuo caso vedi un'immagine diversa, hai aperto un altro file o lo stai visualizzando in modalità testo. In quest'ultimo caso, fare clic sul pulsante Visualizza come esadecimale sulla barra degli strumenti (vedi Fig. 1.12).

Cosa significano questi numeri?

Tutto è chiaro con zeri: questa è la prima cella di memoria in cui è scritto il numero B4. Questo numero verrà quindi scritto all'indirizzo 0100h (per un file COM). Una riga dovrebbe contenere 16 numeri, ognuno dei quali è composto da due cifre. I numeri sono scritti in forma esadecimale. Ma il nostro programma è piccolo - solo 8 byte, quindi abbiamo 8 numeri.

Ma cos'è esattamente B4? Questo è il comando - "Inserisci il valore nel registro AH". E che valore inseriamo? Corretto: 02 (numero successivo nella riga).

AX = 0200 BX = 0000 CX = 0000 DX = 0000 SP = FFEE BP = 0000 SI = 0000 DI = 0000 DS = 0B72 ES = 0B72 SS = 0B72 CS = 0B72 IP = 0102 NV UP EI PL NZ NA PO NC 0B72: 0102 B241 MOV DL, 41 Vedi B241 sull'ultima riga? Una combinazione familiare? Questo è il codice di comando MOV DL, 41.

Resta da affrontare i misteriosi personaggi alla fine della linea. Ma qui tutto è semplice: ogni cifra in un numero corrisponde a un codice carattere della tabella ASCII e questi caratteri vengono visualizzati nella stessa sequenza delle cifre esadecimali. In questo testo, alcuni caratteri sono sostituiti da punti (.) - questi sono semplicemente codici per caratteri non alfabetici.

Bene, ora scriviamo e creiamo il nostro programma ben studiato senza assembler e linker. Apri l'editor, crea un nuovo file (per farlo, fai clic sul pulsante NUOVO sulla barra degli strumenti), quindi fai clic sul pulsante Visualizza come esadecimale e inserisci i dati:

00000000 B4 02 B2 41 CD 21 CD 20 Salva il file con un nome, ad esempio hex_1.com. Qualunque cosa. Il programma è pronto. Ora puoi avviarlo e ammirare ancora una volta la tua creazione. Il risultato sarà lo stesso di tutti i casi precedenti.

E un'altra piacevole sorpresa dall'editor McAfee FileInsight v2.1: ha il suo disassemblatore! Se carichi il file eseguibile nell'editor e nell'angolo in basso a sinistra selezioni la scheda DISASSEMBLY, puoi vedere il codice sorgente del programma caricato in linguaggio assembly (Fig. 1.12).

Perché abbiamo bisogno di editor e disassemblatori esadecimali? È così difficile. Sì, non è facile. Tuttavia, gli hacker non la pensano così. È con l'aiuto di editor e disassemblatori esadecimali che distruggono i programmi. Trovano i punti di cui hanno bisogno nel codice e li sistemano in base ai loro capricci da hacker.

Ovviamente non siamo hacker. Non romperemo i programmi. Tuttavia, i disassemblatori e gli editor esadecimali sono piuttosto utili per i programmatori rispettosi della legge. Sono utilizzati, ad esempio, per il debug, per l'apprendimento dei codici macchina, ecc. Ad esempio, sai come appare un comando in linguaggio assembly, ma vuoi conoscerne il codice macchina. Se non c'è documentazione, c'è solo una via d'uscita: un editor esadecimale e / o un disassemblatore. Va notato, tuttavia, che non tutte le istruzioni rientrano nel codice macchina di due numeri. Alcuni comandi sono piuttosto complessi e richiedono più numeri per essere rappresentati nei codici macchina.

A volte diventa necessario apportare modifiche a un file binario. Per questo vengono utilizzati i cosiddetti editor esadecimali. Lo scopo di questa guida è descrivere i metodi di base per lavorare con loro e rispondere alle domande più frequenti.

Scelta dell'editore

Solitamente sorge la primissima domanda: quale editor scegliere tra la varietà di quelli esistenti. Per modificare diversi byte, puoi tranquillamente utilizzarne uno, ma con un uso frequente o prolungato, il programma deve supportare tutte le funzioni richieste, essere comodo, veloce e affidabile. Sulla base di ciò, possiamo consigliare di utilizzare, ad esempio, QView. Oltre alle proprietà sopra elencate, ha le seguenti:

  • Funziona in DOS e Windows
  • Contiene assemblatore e disassemblatore in linea
  • Supporta DOS-866, Win-1251, KOI-8r e codifiche di testo definite dall'utente
  • Ha ampie opzioni di personalizzazione
  • È gratuito e open source

Puoi scaricarlo dalla home page del progetto: http://www.agcproduct.com/rus/products/qview/.

La finestra principale di QView è costituita da una barra del titolo (in alto), un'area di lavoro e una barra dei softkey (in basso). La tastiera e il mouse sono usati per il controllo. QView consente di lavorare con i dati in modalità testo, modalità hex dump e modalità disassemblatore. Le modalità vengono commutate in sequenza premendo Invio o F4 (o facendo clic con il tasto sinistro del mouse sul titolo nell'area dei simboli AV / HV / 00). Le modalità di visualizzazione e modifica vengono cambiate premendo Alt-F3 (in modalità testo - solo F3). Le modalità installate dopo l'avvio dipendono dalle impostazioni che sono memorizzate nei file qview.ini, qview.fmg, qview.ehl e per la modifica c'è un programma speciale nel pacchetto - Q-Setup. La guida sensibile al contesto per i tasti utilizzati viene richiamata premendo F1.

Puoi aprire un file in un editor passando il suo nome come parametro della riga di comando: qview.exe (su Windows, i nomi di file lunghi devono essere racchiusi tra virgolette) o tramite il pannello dei file, che viene richiamato premendo Alt-F6 o facendo clic sul nome del file nell'intestazione. Premi Esc per uscire dall'editor.

Modifica più semplice

L'attività più semplice durante la modifica dei file binari consiste nel sostituire il valore del byte all'offset XXXXXXXX con YY. Per fare ciò, dopo aver aperto il file nell'editor, premere Invio per cambiare la visualizzazione in modalità dump. Nell'area di lavoro, la colonna di sinistra mostra il valore di offset, nella parte centrale - i valori dei byte in forma esadecimale, a destra - gli stessi valori in forma di caratteri ASCII.

Per posizionare il cursore sull'offset desiderato, premere il tasto F5 (o fare clic con il mouse nell'intestazione della riga di numeri evidenziata in rosso), immettere il valore dell'offset e premere Invio. Se la modalità di modifica non è stata attivata, premere Alt-F3 (in questo caso, nel pannello dei tasti apparirà la scritta "Modifica ON"). Successivamente, puoi apportare modifiche al file digitando i valori dei byte in esadecimale o spostando il cursore sulla colonna di destra premendo TAB, sotto forma di caratteri. Il cursore viene posizionato utilizzando i normali tasti di controllo o il mouse.

Per annullare le modifiche apportate posizionare il cursore al posto dell'errore e premere più volte F3. È possibile salvare le modifiche all'uscita premendo W o con forza premendo Alt-F9.

Trova e sostituisci

QView supporta la ricerca di un file per byte o stringhe specifici e la ricerca per maschera. La finestra di dialogo di ricerca viene richiamata premendo F7. Nel campo ASCII, puoi inserire una stringa come caratteri e nel campo HEX, in esadecimale. Con un clic del mouse è possibile specificare la direzione della ricerca ("Avanti / Indietro"), abilitare le opzioni per distinguere i caratteri per la ricerca dei caratteri ("Sensibile") o la ricerca per maschera ("Mascheramento"). In quest'ultimo caso, il "?" maschera il byte corrispondente nella stringa. Ad esempio, durante la ricerca di "w? R?" si troveranno le parole worm, warm, were, ecc. Premendo Shift-F7 si cerca la corrispondenza successiva.

Per eseguire una ricerca e sostituzione, premere Ctrl-F7. Nella parte superiore della finestra viene inserita una stringa o pattern per la ricerca, nella parte inferiore una stringa sostitutiva.

Creazione e utilizzo di file crack

I file crack sono il modo più comune per registrare le modifiche ai binari. Nel formato standard, sono costituiti da tre colonne: l'offset relativo all'inizio del file modificato, il valore del byte prima della modifica e il suo valore dopo la modifica:

00000150: 89 B8 00000151: 1E 03 00000152: F6 00 00000153: 10 CD 00000154: 83 10

A volte viene aggiunto un commento all'inizio, iniziando con il carattere "#".

In QView, per salvare le modifiche apportate al file come file crack, premere Shift-F9, inserire il nome del file nella finestra che si apre e premere Invio. Per apportare modifiche dal file crack finito, premi Ctrl-F8, salta la finestra che si apre premendo Invio (puoi impostare un offset aggiuntivo in esso, che viene utilizzato raramente), nella finestra successiva inserisci il nome del file crack e premere di nuovo Invio. Nota importante: subito dopo, le modifiche verranno scritte sul file e verrà automaticamente salvato. Non è necessario commutare il programma in modalità di modifica. Se viene visualizzato un messaggio di errore quando si apportano modifiche, significa che il formato del file non corrisponde allo standard o che la patch non si adatta al file (i byte "prima modificati" non corrispondono).

Lavorare con i blocchi

A volte è necessario salvare parte di un file binario, ad esempio per copiare stringhe di testo da esso. Per lavorare con i blocchi, l'editor deve essere in modalità dump o disassemblatore. Per selezionare il blocco desiderato, posizionare il cursore all'inizio, premere il tasto Inserisci, quindi posizionare il cursore alla fine del blocco e premere nuovamente Inserisci. Il blocco è evidenziato in giallo.

Per salvare un blocco in un file, premi Maiusc-F2, nella finestra che appare, specifica il nome e il formato del file salvato (sotto forma di codice - "così com'è", dump o testo assembler) e premi Invio.

Quando si inserisce un blocco da un file, selezionare il blocco allo stesso modo, premere Maiusc-F3 e specificare il nome del file sorgente nella finestra che si apre. In questo caso, la dimensione del blocco selezionato deve essere uguale o inferiore alla dimensione del file. Opzione alternativa: posizionare il cursore nella posizione da cui deve essere effettuato l'inserimento, premere Shift-F5 e nella finestra che si apre specificare il nome del file sorgente, offset e lunghezza del blocco al suo interno, da dove si vuole prendere dati.

Per eliminare un blocco, contrassegnarlo e premere Shift-F4 o posizionare il cursore nella posizione desiderata, premere Ctrl-F5 e specificare il numero di byte da eliminare. Per inserire un blocco pieno di zeri nella posizione corrente, premere Ctrl-F4 e specificare la dimensione del blocco. Puoi eliminare il file fino alla fine a partire dalla posizione corrente premendo Alt-F10.

Quando viene inserito un blocco, come nel caso dei file crack, le modifiche vengono salvate subito dopo l'inserimento.

Assemblaggio e ricerca assembler

L'assemblaggio viene utilizzato per apportare modifiche all'algoritmo dei file eseguibili. QView supporta tutte le istruzioni per i processori Intel 486 e 487. In modalità assembler e disassembler, la prima colonna mostra l'offset relativo all'inizio del file nella prima colonna, i byte di istruzione nella seconda e la sua designazione mnemonica nella terza. Per abilitare la modalità di assemblaggio, passare l'editor alla modalità disassemblatore premendo più volte Invio, abilitare la modalità di modifica premendo Alt-F3 e premere TAB per spostare il cursore sulla terza colonna. Successivamente, puoi inserire le istruzioni, completando ogni voce premendo Invio.

Se necessario, è possibile, come nella modalità dump, modificare direttamente i byte nella seconda colonna. La larghezza di bit del codice 16/32 viene cambiata premendo F2. È possibile annullare le modifiche posizionando il cursore sulla riga con l'errore e premendo più volte F3.

Per cercare istruzioni di assemblaggio specifiche, premere F6, digitare l'istruzione e premere Invio. La ricerca della corrispondenza successiva viene eseguita premendo Shift-F6. I seguenti caratteri speciali possono essere utilizzati per la corrispondenza del modello:

"?" - qualsiasi carattere
"*" - qualsiasi sottostringa fino alla virgola o alla fine della riga
"$" - cerca costanti numeriche (poste prima del numero)
"%" - salta una parola
"@" - qualsiasi sottostringa

Ad esempio, "sub bx, *" - cerca tutte le istruzioni di sottrazione dal registro BX.

Funzioni aggiuntive

Tra le utili funzioni aggiuntive di QView, possiamo notare la presenza di una calcolatrice incorporata, che viene chiamata quando si preme Ctrl-F6. Supporta operazioni aritmetiche e logiche bit a bit di base, parentesi per specificare la priorità delle operazioni, input di argomenti e output del risultato nei sistemi in base 2, 8, 10, 16.

È possibile visualizzare le informazioni dall'intestazione di un file eseguibile premendo F8 in modalità dump o disassemblatore. Sono supportati file nei formati MZ, PE, NE, LX, LE.

HxD Hex Editor è un editor di dati con supporto per la codifica ANCI. L'applicazione utilizza la rappresentazione esadecimale per qualsiasi file aperto, può lavorare con elementi di RAM, salvando le modifiche sul disco rigido. Consente di cercare e sostituire i valori in modalità automatica o manuale. Include strumenti per esportare dati, generare checksum e cancellare frammenti di codice.

Il programma è in grado di dividere i file in parti della dimensione richiesta e supporta l'elaborazione di grandi quantità di informazioni. Utilizza un'interfaccia modulare con la possibilità di visualizzare versioni standard ed esadecimali del codice. Consente di annullare eventuali modifiche apportate, contiene strumenti di navigazione per il contesto e l'indirizzo della riga.

HEX-editor è in grado di interagire con qualsiasi tipo di file, può essere utilizzato per trovare e sostituire i valori eseguibili dei processi in esecuzione.

Scarica gratuitamente la versione russa completa di HxD Hex Editor dal sito ufficiale senza registrazione e SMS.

Requisiti di sistema

  • Sistemi operativi supportati: Windows 8.1, Vista, 10, 8, 7, XP
  • Profondità bit: 64 bit, x86, 32 bit

Dopo la fine del ciclo con l'articolo "I migliori strumenti per pentester", la redazione ha ricevuto molte lettere con la richiesta di effettuare una selezione di editor esadecimali. L'interesse, ovviamente, non è la possibilità di modificare i dati binari, ma funzionalità aggiuntive come il riconoscimento automatico delle strutture dati e il disassemblaggio del codice. Per fare una recensione, abbiamo scoperto le opinioni delle persone che molto spesso devono armeggiare con tali strumenti: gli analisti di virus. Ed è quello che ci hanno detto.

Qualsiasi editor esadecimale consente di esaminare e modificare il file a basso livello, operando con bit e byte. Il contenuto del file è presentato in forma esadecimale. Questa è la funzionalità di base. Tuttavia, alcuni editor offrono agli utenti molto di più, consentendo loro di capire, infatti, cosa c'è in quell'incomprensibile insieme di caratteri che appare quando si apre un file. Per fare ciò, le stringhe ASCII e Unicode vengono estratte automaticamente, vengono cercati modelli noti, vengono riconosciute strutture di dati di base e molto altro. Esistono alcuni editor esadecimali, ma se decidessimo di considerarli nel contesto dell'esame di campioni di malware, è facile evidenziarne alcuni. Solo alcuni sono effettivamente utili per analizzare codice dannoso ed esaminare documenti infetti (ad esempio, PDF).

McAfee FileInsight

FileInsight è un editor esadecimale gratuito per Windows di McAfee Labs. Il prodotto, ovviamente, esegue tutte le funzionalità standard associate a tale software, offrendo una comoda interfaccia per la visualizzazione e la modifica dei file in modalità esadecimale e testuale. Ma questa è solo una goccia nel mare, se guardi a tutte le sue funzionalità. Per cominciare, FileInsight è in grado di analizzare la struttura dei binari eseguibili per Windows (file PE), così come gli oggetti OLE di Microsoft Office. Inoltre, all'utente viene offerto un disassemblatore x86 integrato. È sufficiente selezionare la parte del file che si desidera visualizzare come codice leggibile e FileInsight mostrerà questo frammento come un elenco di istruzioni di assemblaggio. Il disassemblatore è particolarmente utile quando si cercano shellcode in file dannosi. Un'altra opzione che i reverser adoreranno è la possibilità di importare dichiarazioni di struttura. Per fare ciò, il programma deve solo specificare un file di intestazione con dichiarazioni come:

struct ANIHeader (
DWORD cbSizeOf; // Num byte in AniHeader
DWORD cFrame; // Numero di icone uniche
DWORD cPassi; // Numero di Blit
};

In questo caso, il programma analizzerà da solo tali costruzioni. Tuttavia, per impostazione predefinita vengono offerti molti algoritmi intuitivi per l'elaborazione del codice. Prima di tutto, stiamo parlando della decodifica di molti metodi di offuscamento (xor, add, shift, Base64, ecc.) - gli script in linea fanno clic su tale protezione crittografica una o due volte. Va notato qui che l'oggetto della ricerca non deve essere un binario, può anche essere una normale pagina web che desta sospetti. Il programma permette di automatizzare molte azioni utilizzando semplici script in JavaScript o moduli in Python, di cui molti sono già stati scritti. Purtroppo, nonostante tutti i suoi vantaggi, FileInsight ha anche un grave inconveniente, che si esprime nell'incapacità di elaborare file di grandi dimensioni. Ad esempio, se si tenta di alimentare l'utilità con un file di dimensioni 400-500 MB, viene visualizzato l'errore "Impossibile aprire il documento".

Editor esadecimale Neo

Esistono due versioni di questo editor esadecimale di HDD Software: una semplice versione gratuita e una versione commerciale avanzata. La versione Freeware è un editor HEX solido ma insignificante che ha una bella interfaccia personalizzabile con supporto per diverse combinazioni di colori. Non piu. Ma la versione professionale di Hex Editor Neo fornisce diverse opzioni utili che possono essere estremamente utili quando si analizzano i binari. Ad esempio, l'utente è in grado di decodificare il codice crittografato utilizzando gli algoritmi più comuni. Inoltre, diventa possibile visualizzare e modificare risorse locali come flussi NTFS, dischi locali, memoria di processo e RAM. Nella versione più completa è presente anche il supporto per un linguaggio di scripting, che permette di automatizzare molti processi utilizzando script in VBScript e JavaScript. Ma la parte migliore è che hai un disassemblatore integrato al tuo servizio che funziona con i binari x86, x64 e .NET! Un'altra caratteristica è la creazione rapida di patch basate sul confronto di due binari. Sembra impressionante, ma è meglio di FileInsight? Probabilmente no. FileInsight sembra più funzionale nel complesso. D'altra parte, qualsiasi versione, anche gratuita, di Hex Editor Neo funziona alla grande anche con file molto grandi e consente di cercare stringhe ASCII e Unicode. Il disassemblatore qui non è limitato a una sola piattaforma x86 e l'editor di risorse integrato è molto conveniente. C'è qualcosa a cui pensare.

FlexHex

FlexHex è un potente editor esadecimale commerciale di Heaventools Software che include molte delle funzionalità disponibili in Hex Editor Neo. L'unica cosa che manca qui è, forse, il supporto per gli script. Ma questo editor completo gestisce allo stesso modo binari, file OLE, dischi fisici e flussi NTFS alternativi. Quest'ultimo è particolarmente importante perché FlexHex ti consente di modificare dati che altri editor potrebbero non vedere. Inoltre, l'attenzione per lavorare con grandi quantità di informazioni si avverte immediatamente: indipendentemente dalle dimensioni del file, la navigazione all'interno di esso viene eseguita senza ritardi e interruzioni. Per una comodità ancora maggiore, funziona il sistema di comodi segnalibri. Allo stesso tempo, FlexHex conserva continuamente una cronologia di tutte le operazioni: puoi annullare qualsiasi azione semplicemente selezionandola dall'elenco delle modifiche (l'elenco di annullamento non è limitato)! FlexHex supporta tutte le operazioni necessarie con dati binari, alla ricerca di stringhe ASCII e Unicode. Se è necessario elaborare una struttura con un formato predeterminato, non sarà difficile impostarne i parametri utilizzando strumenti speciali. Di conseguenza, otteniamo un eccellente editor esadecimale, ma comunque molto inferiore allo stesso FileInsight. L'unica opzione degna di nota è l'elaborazione dei file OLE, ma anche qui ci sono problemi. Diverse volte durante il tentativo di aprire OLE infetto, il programma si è bloccato con l'errore "Il file doc è stato danneggiato".

010 Editore

010 Editor è un noto prodotto commerciale sviluppato da SweetScape Software. Se lo confronti con i tre strumenti precedenti, allora può fare tutto: supporta il lavoro con file molto grandi, offre interessanti possibilità di manipolazione dei dati, consente di modificare le risorse locali, ha un sistema di scripting per automatizzare le azioni di routine (più di 140 diverse funzioni al vostro servizio). E l'editor 010 ha anche una svolta, una caratteristica unica. L'editor fa tutto grazie alla capacità di analizzare vari formati di file utilizzando la propria libreria di modelli (i cosiddetti modelli binari). Qui non ha eguali. Molti appassionati in tutto il mondo stanno lavorando su modelli, martellando in vari formati e strutture di dati. Di conseguenza, il processo di navigazione tra vari formati di file diventa trasparente e comprensibile. Questo vale anche per l'elaborazione di binari per Windows (file PE), file di collegamento di Windows (LNK), archivi Zip, file di classe Java e molto altro. Molte persone sono state in grado di rendersi conto della bellezza di questo trucco quando il famoso specialista di sicurezza Didier Stevens ha creato un modello per l'analisi dei file PDF per l'editor 010. Insieme ad altre utilità, questo ha notevolmente semplificato l'analisi dei documenti PDF infetti, che negli ultimi sei mesi non hanno mai smesso di stupire per il numero di luoghi da cui il lettore può essere sfruttato. Aggiungiamo qui uno strumento interessante per confrontare i binari, una calcolatrice con sintassi simile al C, convertire i dati tra i formati ASCII, EBCDIC, Unicode e otteniamo uno strumento molto interessante con caratteristiche uniche.

ciao

Hiew, in termini di metodo di distribuzione, non è molto diverso dai suoi colleghi: è anche un prodotto commerciale, sviluppato dal nostro connazionale Evgeny Suslikov. Con una lunga storia, il programma è molto popolare tra molti professionisti della sicurezza delle informazioni. Ci sono ragioni abbastanza ovvie per questo: potenti possibilità di ricerca e modifica della struttura e del contenuto dei file eseguibili sia di Windows (PE) che dei binari per Linux (ELF). Un'altra caratteristica molto utile per l'inversione è l'assemblatore e disassemblatore x86-64 integrato. Quest'ultimo supporta anche le istruzioni ARM. Inutile dire che l'editor è eccellente nel digerire file di grandi dimensioni e consente di modificare unità logiche e fisiche. Molte attività possono essere facilmente automatizzate tramite un sistema di macro da tastiera, script e persino un'API per lo sviluppo di estensioni (Hiew Extrenal Modules). Ma prima di precipitarti in battaglia, tieni presente che l'interfaccia di Hiew è una finestra simile a DOS, con cui è piuttosto scomodo lavorare per abitudine. Ma puoi sentire su di te tutto il fascino della vecchia scuola.

Radare

Radare è una raccolta di utilità gratuite per la piattaforma Unix che fornisce funzionalità interessanti per la modifica dei file in modalità HEX. Include l'editor esadecimale stesso (radare) con la possibilità di aprire file locali e remoti. Il programma analizza file eseguibili di vari formati, sia Linux (ELF) che Windows (PE). Oltre all'editing, Radare ha uno strumento di confronto binario (radiff) e un assemblatore/disassemblatore integrato. E personalmente, un paio di volte lo strumento per generare shellcode (rasc) è tornato utile. Qualsiasi operazione può essere facilmente automatizzata e personalizzata utilizzando un sistema di scripting. Tra gli svantaggi, ancora una volta, possiamo notare l'assenza di un'interfaccia GUI: tutte le azioni vengono eseguite dalla riga di comando e sarai in grado di lavorare completamente con le utilità solo dopo aver letto la documentazione. D'altra parte, il sito ha screencast visivi che mostrano sia i punti principali che i piccoli segreti (come collegare un plugin Python).

Quindi cosa dovresti scegliere?

Abbiamo esaminato diversi potenti editor esadecimali che includono opzioni utili per l'analisi di file sospetti. Tra tutti i prodotti spicca FileInsight, che per tutte le sue funzionalità (ed è davvero impressionante) rimane gratuito. 010 Editor fornisce un gran numero di modelli per la gestione di un'ampia varietà di file, inclusi i documenti PDF. Questa è una mega caratteristica che non può essere trascurata. Uso sempre questi due editor; per l'analista, sono forse la soluzione migliore. Se parliamo di lavorare su una piattaforma Unix, allora, ovviamente, non dobbiamo dimenticare Radare. Il pacchetto offre funzionalità molto potenti, anche se è difficile da usare a causa del fatto che funziona dalla riga di comando. Anche Hiew non è molto amichevole, sebbene le sue capacità, ovviamente, ti permettano di eseguire una varietà di operazioni con i binari. Inoltre, Hiew è la scelta di un gran numero di veri professionisti e vale molto (e significa molto). Per quanto riguarda Hex Editor Neo, vale la pena prendere in considerazione se sei interessato alla possibilità di disassemblare il codice x86, x64 e .NET.

Principali articoli correlati