Programe pentru vizualizarea fișierelor binare. Editor hexadecimal

Un editor HEX este un program care poate afișa informații în modul în care computerul le „vede”, dar transformându-le în hexazecimal. Deschizând orice fișier într-o astfel de aplicație, utilizatorul va vedea o matrice formată din coloane și rânduri, numărul cărora depinde de dimensiunea fișierului în cauză. Prin urmare, dacă modificați valorile octeților în editor, conținutul documentului deschis se va schimba și el.

Puțină teorie

Orice date sunt stocate în memoria PC-ului sub formă de cuvinte mașină, în caz contrar octeți. Fiecare include 8 biți (cifre binare care iau valoarea fie „0” fie „1”). Prin calcule matematice, puteți înțelege că un octet poate conține un număr în intervalul de la 0 la 255. Dacă convertiți 255 în hexazecimal, acesta este convertit în FF. Adică, pentru a afișa orice cuvânt de mașină este foarte convenabil să folosiți reprezentarea hexazecimală. De aici și numele grupului de programe - editor hexazecimal.

Elementele de bază ale programelor

Pe lângă matricea descrisă mai sus, interfața grupului de aplicații prezentat poate conține și alte instrumente:

  • Numerotarea liniilor. De obicei, se află în partea stângă a aplicației. Afișează offset-ul primului octet al liniei în raport cu începutul fișierului.
  • În partea de sus există adesea o bandă similară de numere care indică decalajul de octeți a valorii relative din stânga din linie. Adăugând valorile șirurilor de caractere, puteți obține numărul fiecărui octet.
  • Panoul din dreapta poate afișa aceleași date ca în tabel, dar ca text pentru utilizator).

McAfee FileInsight

Acest editor HEX este complet gratuit. Funcționează numai pe sistemele de operare Windows. Produsul are toate cerințele domnului, cum ar fi vizualizarea și editarea unui fișier. În același timp, programul are o interfață plăcută și ușor de utilizat.

Dar caracteristicile standard sunt minimul pentru care poate fi folosit FileInsight. Care este maximul? Trebuie să începem cu capacitatea de a analiza structurile fișierelor executabile. Nu este suficient? Orice fragment selectat poate fi dezasamblat din mers. Un clic - și numerele de neînțeles devin o listă care poate fi citită.

Printre altele, acest editor HEX oferă mulți algoritmi de procesare a codului pentru a ocoli protecția construită de dezvoltatori. În primul rând, trebuie să acordați atenție metodelor de ofuscare de decodare, cum ar fi add, xor, Base64, shift. Scripturile cu care vine aplicația rup astfel de protecție criptografică cu ușurință. Majoritatea acțiunilor pot fi automatizate prin scrierea de scripturi simple în JS sau Python. Uneori nu este nevoie să creați ceva nou, deoarece baza acestora a fost adunată impresionant.

Deși FileInsight este considerat unul dintre cele mai bune instrumente pentru inginerie inversă, programul are și un dezavantaj imens - incapacitatea de a procesa fișiere mai mari de 400 MB.

Hex Editor Neo

Acest editor HEX vine în două versiuni: gratuit și avansat. Un produs cu licență freeware este de înaltă calitate, dar neremarcabil. Caracteristicile includ setări extinse de interfață și scheme de culori. Versiunea profesională oferă funcții mai utile, care sunt deosebit de relevante în timpul analizei

De exemplu, utilizatorului i se oferă posibilitatea de a decoda programe criptate cu algoritmi obișnuiți. În plus, există și funcții care vă permit să editați resurse locale (RAM, fluxuri NTFS, hard disk-uri). Automatizarea proceselor este implementată folosind scripturi VBS și JS.

Cu toate acestea, cea mai importantă caracteristică a programului este dezasamblarea acestuia, care poate funcționa cu fișiere x64, x86 și .NET. O altă caracteristică nefurnizată de concurenți este crearea unui patch bazat pe o comparație a două binare executabile. Este cu siguranță impresionant, dar în comparație cu FileInsight, Neo este încă scurt. Cu toate acestea, NEO poate gestiona fișiere mari.

Hiew

Hiew HEX editor nu are o versiune gratuită. Dezvoltarea este realizată de o echipă din Rusia. Istoricul produsului datează din zilele aplicațiilor pe 16 biți pentru DOS și Windows 3.1. Hiew este adesea folosit de profesioniștii implicați în probleme de securitate a computerelor și a informațiilor. Motivele sunt clare: o gamă completă de capabilități pentru editarea și vizualizarea fișierelor binare executabile Windows, precum și programe Linux (ELF) compilate.

O altă caracteristică notabilă care ajută la inginerie inversă este dezasamblarea și asamblarea încorporate de la Hiew. În plus, funcționează atât cu aplicații x86, cât și cu x86_64, instrucțiunile procesorului sunt de asemenea acceptate. Editorul se descurcă fără probleme și vă permite să efectuați modificări de date de nivel scăzut pe HDD-urile fizice.

Un număr mare de acțiuni pot fi automatizate. Pentru a realiza acest lucru, programatorii au integrat capacitatea de a crea scripturi, macrocomenzi de tastatură și funcții API care sunt folosite pentru a apela proceduri interne din aplicații externe. Dar Hiew încă nu a obținut o victorie necondiționată în domeniul editorilor hexazecimali. Interfața sa este realizată complet în stil DOS, iar ferestrele sunt redate (sau consola, dacă vorbim despre sisteme Linux).

Oamenii au impresia că numai profesioniștii și programatorii pot lucra cu editori hexadecimale, iar pentru omul obișnuit acest lucru este ceva inutil și de neînțeles. De fapt, acesta este un instrument convenabil care va fi cu siguranță util jucătorilor și utilizatorilor obișnuiți dacă trebuie să remedieze o eroare sau o eroare în utilitar. În esență, editorul este un decodor de cod hexazecimal. Tu și cu mine folosim 10 cifre pentru a scrie numere, aparatul folosește un cod din 2 cifre pentru a codifica toate informațiile și apoi totul este convertit în hexazecimal pentru a fi mai ușor de înțeles de către utilizator. De fapt, editorii sunt mai probabil să fie nevoie de începători, deoarece profesioniștii folosesc utilități multifuncționale cu capacitatea de a folosi mai multe paradigme deodată, dacă au nevoie de ele pentru programare. Să ne dăm seama ce calculatoare și convertoare sunt cele mai bune de ales.

Cel mai simplu și mai popular editor hex din lume, în plus, cu capacitatea de a converti codul în alte sisteme de codificare, precum și de a citi fișiere binare ale sistemului. Întreaga funcționalitate a Hex Editor Neo constă în deschiderea fișierelor, efectuarea unor modificări și salvarea în același sau alt format, la cererea utilizatorului. Cu toate acestea, există o singură comoditate - istoricul modificărilor care rămâne chiar și după închiderea utilității. Deci, nu va trebui să luați din nou nicio decizie. Vor fi așa, puteți reveni mâine la acea parte a codului pe care nu ați avut timp să o completați astăzi chiar în fața dvs. pe ecran. Acest editor Hex este convenabil pentru începători și profesioniști.

Editor Hex HxD

Un editor gratuit, dar încă destul de puternic pentru fișiere binare, care acceptă codificări de bază, cum ar fi ANSI sau ASCII, este adesea folosit ca un plus la calculatoare și convertoare mai funcționale. Acceptă fișiere fără restricții de dimensiune și, cel mai important, vă permite să schimbați memoria RAM, înregistrând imediat orice modificări pe hard disk. Iar interfața comodă și ergonomică, gândită de creatori, simplifică încă o dată munca utilizatorului. În HxD Hex Editor nu există un aglomerat clasic de instrumente și totul este aranjat folosind un sistem simplu de obturator, pentru aceasta puteți descărca editorul hex.

Atelier Hex

Unul dintre editorii simpli potriviti pentru computere cu orice hardware. Cerințele sale reduse privind resursele de sistem și interfața sa ușor de utilizat, deși cu un anumit aflux de design de obiecte Microsoft de la începutul anilor 2000, au făcut programul atât de popular ca editor portabil. Dacă trebuie să încărcați utilitarul pe o unitate flash și apoi să rezolvați problema din cod pe loc, atunci pur și simplu nu puteți găsi o soluție mai bună, deoarece aplicația are și o versiune portabilă cu cerințe de sistem și mai mici. Există, de asemenea, o versiune mobilă și puteți descărca Hex Workshop direct pe smartphone.

WinHex

Acest editor hex este shareware, ceea ce înseamnă că va trebui să plătiți pentru partea principală a funcționalității. Cu toate acestea, editarea de bază a fișierelor de mai multe formate și conversia de la un sistem de codare la altul sunt disponibile fără plată. Acest lucru vă permite să încercați toate deliciile editorului absolut gratuit și abia apoi să decideți dacă îl cumpărați. Principalul avantaj este un amestec de funcționalități, nu veți găsi un mediu atât de bogat pentru lucru în altă parte.

HexCmp

Acest editor hexadecimal merită descărcat dacă deseori trebuie să comparați mai multe fișiere între ele pentru a găsi o eroare sau o modificare făcută de colegul dvs. Pe lângă afișarea convenabilă a părților nepotrivite, utilitarul oferă și funcționalitatea simplă a unui editor și convertor obișnuit, precum și setul de bază al unui gentleman în astfel de programe.

Editor Hex online

Dacă trebuie să faceți rapid câteva modificări codului hexadecimal și să nu vă deranjați cu instalarea aplicațiilor, atunci editoarele online sunt de asemenea potrivite. Cu toate acestea, rețineți că funcționalitatea lor este extrem de slabă. Iată link-uri către soluții online similare:

Convertor Hex la DEC, BIN și invers

Oricare dintre utilitățile de mai sus este potrivită ca convertor hex în dec, hex în bin. Doar încărcați fișierul în ele și selectați „salvare ca”, apoi selectați formatul potrivit, iar utilitarul în sine va converti toate datele în extensia necesară, după care puteți deschide fișierul de tipul adecvat.

Un astfel de calculator online poate fi extrem de util atunci când trebuie să faceți rapid calcule în al 16-lea sistem numeric. Iată un link către un calculator Hex online convenabil și bun:

Concluzie

Alegeți orice utilitar descris după cum doriți sau utilizați analogi online dacă nevoia nu apare des. Hex Editor neo va fi cea mai bună alegere atât pentru începători, cât și pentru profesioniști.

După ce a terminat seria cu articolul „The Best Pentester Tools”, editorul a primit multe scrisori în care cereau o selecție de editori hexadecimale. Interesul, desigur, nu este abilitatea de a edita date binare, ci caracteristici suplimentare, cum ar fi recunoașterea automată a structurilor de date și dezasamblarea codului. Pentru a face o imagine de ansamblu, am aflat părerile oamenilor care cel mai adesea trebuie să se chinuie cu astfel de instrumente - analiștii de viruși. Și asta ne-au spus.

Orice editor hex vă permite să examinați și să modificați un fișier la un nivel scăzut, operând cu biți și octeți. Conținutul fișierului este prezentat în format hexazecimal. Aceasta este funcționalitatea de bază. Cu toate acestea, unii editori oferă utilizatorilor mult mai mult, permițându-le să-și dea seama exact ce este ceea ce este în acel set de caractere de neînțeles care apare la deschiderea unui fișier. Pentru a face acest lucru, șirurile ASCII și Unicode sunt extrase automat, modelele cunoscute sunt căutate, structurile de date de bază sunt recunoscute și multe altele. Există destul de puțini editori hexazecimali, dar dacă am decis să le luăm în considerare în contextul studierii mostrelor de malware, este ușor să evidențiem unele dintre ele. Doar câteva se dovedesc a fi cu adevărat utile pentru analiza codului rău intenționat și examinarea documentelor infectate (de exemplu, PDF).

McAfee FileInsight

FileInsight este un editor hexadecimal gratuit pentru Windows de la McAfee Labs. Produsul, desigur, îndeplinește toate funcționalitățile standard care însoțesc un astfel de software, oferind o interfață convenabilă pentru vizualizarea și editarea fișierelor în moduri hexazecimal și text. Dar aceasta este doar o picătură în ocean dacă vă uitați la toată funcționalitatea acestuia. Merită să începem cu faptul că FileInsight este capabil să parseze structura binarelor executabile pentru Windows (fișiere PE), precum și obiectele OLE ale Microsoft Office. Nu numai asta, dar utilizatorului i se oferă un dezasamblator x86 încorporat. Doar selectați partea fișierului pe care doriți să o vizualizați ca cod care poate fi citit și FileInsight va afișa acest fragment ca o listă de instrucțiuni de asamblare. Dezasamblatorul este util în special atunci când se caută shellcode în fișiere rău intenționate. Alte opțiuni pe care inversorii le vor aprecia includ posibilitatea de a importa declarații de structură. Pentru a face acest lucru, programul trebuie doar să specifice un fișier antet cu declarații precum:

struct ANIHeader(
DWORD cbSizeOf; // Număr octeți în AniHeader
DWORD cFrames; // Numărul de pictograme unice
DWORD cSteps; // Numărul de blits
};

În acest caz, programul în sine va analiza astfel de structuri. Cu toate acestea, mulți algoritmi intuitivi pentru procesarea codului sunt oferiți implicit. Vorbim, în primul rând, despre decodarea multor metode de ofuscare (xor, add, shift, Base64 etc.) - scripturile încorporate fac ca o astfel de protecție criptografică să fie un pumn unu-doi. De remarcat aici că obiectul cercetării nu trebuie să fie neapărat un binar, poate fi și o pagină web obișnuită care trezește suspiciuni. Programul vă permite să automatizați multe acțiuni folosind scripturi JavaScript simple sau module Python, dintre care multe au fost deja scrise. Din păcate, cu toate avantajele sale, FileInsight are și un dezavantaj serios, care este incapacitatea de a procesa fișiere mari. De exemplu, dacă încercați să alimentați un fișier cu dimensiunea de 400-500 MB în utilitar, apare eroarea „Eșuat la deschiderea documentului”.

Hex Editor Neo

Există două versiuni ale acestui editor hexadecimal de la HDD Software - o versiune simplă gratuită și o versiune comercială avansată. Opțiunea freeware este un editor HEX solid, dar neremarcabil, care are o interfață cool, personalizabilă, cu suport pentru diferite scheme de culori. Nu mai. Dar versiunea profesională a Hex Editor Neo oferă mai multe opțiuni utile care pot fi extrem de utile atunci când se analizează binare. De exemplu, utilizatorul are posibilitatea de a decoda codul criptat folosind cei mai comuni algoritmi. În plus, devine posibil să vizualizați și să editați resurse locale, cum ar fi fluxuri NTFS, discuri locale, memorie de proces și RAM. Cea mai completă versiune include și suport pentru un limbaj de scripting, care vă permite să automatizați multe procese folosind scripturi în VBScript și JavaScript. Dar cea mai bună parte este că aveți la dispoziție un dezasamblator încorporat care funcționează cu binare x86, x64 și .NET! O altă caracteristică este crearea rapidă a patch-urilor bazată pe compararea a două binare. Sună impresionant, dar este mai bun decât FileInsight? Probabil ca nu. FileInsight pare mai funcțional în general. Pe de altă parte, orice, chiar și versiunea gratuită a Hex Editor Neo funcționează excelent chiar și cu fișiere foarte mari și vă permite să căutați șiruri ASCII și Unicode. Dezasamblatorul de aici nu se limitează doar la platforma x86, iar editorul de resurse încorporat este foarte convenabil. Sunt multe de gândit.

FlexHex

FlexHex este un editor hex comercial puternic de la Heaventools Software care include multe dintre aceleași caracteristici găsite în Hex Editor Neo. Singurul lucru care lipsește aici este, probabil, suportul pentru script. Dar acest editor cu funcții complete se ocupă la fel de bine de fișiere binare, fișiere OLE, discuri fizice și fluxuri NTFS alternative. Acesta din urmă este deosebit de important deoarece FlexHex vă permite să editați date pe care alți editori nici măcar nu le văd. În plus, puteți simți imediat concentrarea asupra lucrului cu cantități mari de informații: indiferent de dimensiunea fișierului, navigarea prin acesta se efectuează fără întârzieri sau frâne. Pentru un confort și mai mare, există un sistem de marcaje convenabile. În același timp, FlexHex păstrează continuu un istoric al tuturor operațiunilor - puteți anula orice acțiune pur și simplu selectând-o din lista de modificări (lista de anulare nu este limitată)! FlexHex acceptă toate operațiunile necesare cu date binare, căutând șiruri ASCII și Unicode. Dacă trebuie să procesați o structură cu un format cunoscut anterior, setarea parametrilor acesteia nu este dificilă folosind instrumente speciale. Ca rezultat, obținem un editor hexadecimal excelent, dar cu mult inferior FileInsight. Singura opțiune notabilă este procesarea fișierelor OLE, dar există și probleme aici. De câteva ori când încerca să deschidă un OLE infectat, programul s-a blocat cu eroarea „Fișierul document a fost corupt”.

010 Editor

010 Editor este un produs comercial binecunoscut dezvoltat de SweetScape Software. Dacă îl comparăm cu cele trei instrumente anterioare, poate face totul: acceptă lucrul cu fișiere foarte mari, oferă capabilități interesante de operare cu date, vă permite să editați resurse locale și are un sistem de scripting pentru automatizarea acțiunilor de rutină (mai mult de 140 de funcții diferite la dispoziția dumneavoastră). Și 010 Editor are și o răsucire, o caracteristică unică. Editorul are grijă de toată lumea datorită capacității de a analiza diverse formate de fișiere folosind propria bibliotecă de șabloane (așa-numitele șabloane binare). Aici nu are egal. Mulți entuziaști din întreaga lume lucrează la șabloane, creând diverse forme și structuri de date. Ca rezultat, procesul de navigare prin diferite formate de fișier devine transparent și ușor de înțeles. Acest lucru se aplică și procesării fișierelor binare Windows (fișiere PE), fișiere de comandă rapidă Windows (LNK), arhive Zip, fișiere de clasă Java și multe altele. Mulți oameni au reușit să realizeze frumusețea acestei caracteristici atunci când celebrul specialist în securitate Didier Stevens a creat un șablon pentru analizarea fișierelor PDF pentru 010 Editor. Împreună cu alte utilitare, acest lucru a simplificat foarte mult analiza documentelor PDF infectate, care în ultimele șase luni nu au încetat să uimească prin numărul de locuri din care poate fi exploatat programul de citire. Adăugăm aici un instrument grozav pentru compararea binarelor, un calculator cu sintaxă asemănătoare C, conversia datelor între formatele ASCII, EBCDIC, Unicode și obținem un instrument foarte atractiv, cu caracteristici unice.

Hiew

Hiew, în ceea ce privește metoda de distribuție, nu este mult diferit de colegii săi - acesta este și un produs comercial dezvoltat de compatriotul nostru Evgeny Suslikov. Având o istorie lungă, programul este foarte iubit de mulți specialiști în securitatea informațiilor. Există motive destul de evidente pentru acest lucru - capabilități puternice de cercetare și editare a structurii și conținutului fișierelor executabile atât ale Windows (PE) cât și ale binarelor pentru Linux (ELF). O altă caracteristică foarte utilă pentru inginerie inversă este asamblarea și dezasamblarea x86-64 încorporate. Acesta din urmă acceptă chiar și instrucțiuni ARM. Inutil să spun că editorul digeră perfect fișierele mari și vă permite să editați unități logice și fizice. Multe sarcini sunt ușor automatizate printr-un sistem de macrocomenzi de la tastatură, scripturi și chiar un API pentru dezvoltarea extensiilor (Hiew Extrenal Modules). Dar înainte de a vă grăbi în luptă, rețineți că interfața Hiew este o fereastră asemănătoare DOS, cu care este destul de incomod să lucrați dacă nu sunteți obișnuit cu ea. Dar poți experimenta tot farmecul școlii vechi.

Radare

Radare este un set de utilitare gratuite pentru platforma Unix care oferă capabilități interesante de editare a fișierelor în modul HEX. Include editorul hex în sine (radare) cu capacitatea de a deschide fișiere locale și de la distanță. Programul analizează fișiere executabile de diferite formate, atât Linux (ELF) cât și Windows (PE). Pe lângă editare, pachetul Radare include un instrument pentru compararea fișierelor binare (radiff) și un asamblator/dezasamblator încorporat. Și personal, un instrument pentru generarea de coduri shell (rasc) a fost util de câteva ori. Orice operațiune poate fi automatizată și personalizată cu ușurință folosind un sistem de scripturi. Dintre minusuri, din nou, putem observa lipsa unei interfețe GUI - toate acțiunile sunt efectuate din linia de comandă și puteți lucra pe deplin cu utilitățile numai după citirea documentației. Pe de altă parte, site-ul are screencast-uri vizuale care demonstrează atât punctele principale, cât și micile secrete (cum ar fi conectarea unui plugin Python).

Deci ce ar trebui să alegi?

Am analizat mai multe editoare hexadecimale puternice care includ opțiuni utile pentru analiza fișierelor suspecte. Dintre toate produsele iese în evidență FileInsight, care, în ciuda tuturor funcționalităților sale (și este cu adevărat impresionant), rămâne gratuit. 010 Editor oferă un număr mare de șabloane pentru procesarea unei game largi de fișiere, inclusiv documente PDF. Aceasta este o mega caracteristică care nu trebuie neglijată. Folosesc acești doi editori tot timpul; Pentru munca unui analist, poate că sunt cele mai potrivite. Dacă vorbim despre lucrul sub platforma Unix, atunci, desigur, nu putem uita de Radare. Pachetul oferă funcții foarte puternice, deși este dificil de utilizat datorită faptului că rulează din linia de comandă. De asemenea, Hiew nu este foarte prietenos, deși capabilitățile sale vă permit cu siguranță să efectuați o varietate de operațiuni cu binare. În plus, Hiew este alegerea unui număr mare de profesioniști reali, iar acest lucru valorează mult (și înseamnă mult). În ceea ce privește Hex Editor Neo, merită să o luați dacă sunteți interesat de capacitatea de a dezasambla codul x86, x64 și .NET.