Editori hexadecimal vs. malware: selectarea unui editor hexazecimal pentru a analiza fișierele binare

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.
  • Există adesea o bandă similară de numere în partea de sus, indicând decalajul octet al 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ă lizibilă.

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 uriaș - 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. Mai mult decât atât, funcționează atât cu aplicații x86, cât și cu x86_64, sunt acceptate și instrucțiunile procesorului.Editorul face față fișierelor mari fără dificultăți și vă permite să efectuați modificări de date la 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).

Acest articol va vorbi despre lucrul în editorul hexadecimal gratuit Free Hex Editor Neo, folosind exemplul de editare a unui fișier BkEnd.dll de la livrare pentru funcționarea corectă a acestui sistem cu .

1. Câteva despre editorii și fișierele hexadecimale

După cum știți, orice fișier stocat pe hard diskul unui computer este o secvență de cuvinte mașină - octeți. Un octet, la rândul său, este format din 8 biți, fiecare dintre care poate lua valoarea „0” sau „1”, ceea ce înseamnă că un octet poate lua 2 8 = 256 de valori în intervalul de la 0 la 255. Numărul este 256 10. scris în sistem hexazecimal, este un număr rotund de trei cifre - 100 16, adică, pentru a reprezenta orice număr din intervalul 0-255, nu vor fi necesare mai mult de 2 cifre. Aceasta înseamnă că este foarte convenabil să scrieți valoarea fiecărui octet ca un număr de două cifre în sistemul numeric hexazecimal.

Editorul hex ne arată fișierul așa cum îl „vede” mașina, și anume, ca o secvență de octeți. De exemplu, deschizând un fișier în editor, vom vedea o matrice formată din 16 coloane și numărul de rânduri în funcție de dimensiunea fișierului. Fiecare valoare de matrice corespunde unui octet, scris ca un număr hexazecimal de două cifre. Schimbând valoarea octetului dorit, putem, în consecință, să schimbăm fișierul în sine.

În plus, lângă tabel putem vedea:

  • În stânga matricei este afișată o linie de numere: fiecare linie corespunde unui număr care indică adresa/offset-ul primului octet al acestei linii. Pasul de adresă este egal cu numărul de coloane.
  • O altă riglă este afișată în partea de sus a matricei: deasupra fiecărei coloane este afișat offset-ul octetului din această coloană în raport cu primul octet al liniei corespunzătoare. Suma numărului corespunzător rândului i și a numărului corespunzător coloanei j -a este adresa/offset-ul octetului (i;j) situat la intersecția rândului luat și coloanei luate.
  • În dreapta matricei sunt afișate aceleași date, dar într-o interpretare diferită. Cea mai comună alternativă este afișarea datelor ca text ASCII, cu octeți ale căror valori corespund caracterelor neprintabile afișate ca puncte (·). De asemenea, puteți edita valori în această zonă.

2. Instalați Free Hex Editor Neo

De exemplu, am nevoie de un octet cu un offset 000d9cca scrie valoarea eb. Pentru a face acest lucru, găsesc rândul „000d9cco” și coloana „0a”, dau dublu clic pe celula dorită și introdu o nouă valoare.

Procedând în mod similar, fac următoarele modificări:

  1. Pentru a remedia eroarea " Necesită MS SQL Server 6.5 + Service Pack 5a sau mai mare!» modificați câmpurile:
    prin offset 000d9cca sens 83 schimba in eb
    prin offset 000d9ccb sens e8 schimba in 15
    prin offset 000db130 sens 83 schimba in eb
    prin offset 000db131 sens e8 schimba in 10
  2. Pentru a remedia eroarea " Ordinea de sortare setată pentru baza de date diferă de cea de sistem!»:
    prin offset 0018a79d sens 75 schimba in eb
  3. Pentru a remedia eroarea " Sintaxă incorectă lângă cuvântul cheie „TRANSACȚIE”»
    Fraza DUMP TRANZACȚIA %s CU TRUNCATE_ONLY, care se află la offset 002856B0înlocuiți cu o frază ALTERĂ BAZĂ DE DATE %s SETĂ RECUPERAREA SIMPLU
  4. Pentru a remedia eroarea " Baza de date nu poate fi deschisă în modul utilizator unic", modificați câmpurile:
    prin offset 0028549c sens 64 schimba in 6b
    prin offset 0028549d sens 62 schimba in 70

După ce au fost făcute toate modificările, salvați fișierul făcând clic pe „ Fişier» — « Salvați» .

Te-a ajutat acest articol?

Bună ziua tuturor.

Din anumite motive, mulți oameni cred că lucrul cu editori hex este domeniul profesioniștilor și că utilizatorii începători nu ar trebui să le încerce. Dar, după părerea mea, dacă aveți cel puțin cunoștințe de bază de PC și o idee despre motivul pentru care aveți nevoie de un editor hexadecimal, atunci de ce nu?!

Folosind un program de acest fel, puteți schimba orice fișier, indiferent de tipul acestuia (multe manuale și ghiduri conțin informații despre schimbarea unui anumit fișier folosind un editor hexadecimal)! Adevărat, utilizatorul trebuie să aibă cel puțin o înțelegere de bază a sistemului hexazecimal (datele din editorul hex sunt prezentate exact în acesta). Cu toate acestea, cunoștințele de bază ale acesteia sunt predate la orele de informatică de la școală și probabil că mulți au auzit și au o idee despre ea (prin urmare, nu o voi comenta în acest articol). Așadar, iată cei mai buni editori hexadecimale pentru începători (după umila mea părere).

1) Free Hex Editor Neo

Unul dintre cele mai simple și mai comune editori pentru fișiere hexazecimale, zecimale și binare pentru Windows. Programul vă permite să deschideți orice tip de fișier, să faceți modificări (istoricul modificărilor este salvat), să selectați și să editați în mod convenabil un fișier, să depanați și să analizați.

De asemenea, merită remarcat un nivel foarte bun de performanță cuplat cu cerințe de sistem scăzute pentru mașină (de exemplu, programul vă permite să deschideți și să editați fișiere destul de mari, în timp ce alți editori pur și simplu îngheață și refuză să lucreze).

Printre altele, programul acceptă limba rusă și are o interfață bine gândită și intuitivă. Chiar și un utilizator începător va putea să-și dea seama și să înceapă să lucreze cu utilitarul. În general, îl recomand tuturor celor care încep să se cunoască cu editorii hexadecimale.

2) WinHex

Acest editor, din păcate, este shareware, dar este unul dintre cele mai versatile, susținând o mulțime de opțiuni și caracteristici diferite (dintre care unele sunt greu de găsit printre concurenți).

În modul editor de discuri, vă permite să lucrați cu: HDD-uri, dischete, unități flash, DVD-uri, discuri ZIP, etc. Acceptă sisteme de fișiere: NTFS, FAT16, FAT32, CDFS.

Nu pot să nu remarc instrumentele convenabile pentru analiză: pe lângă fereastra principală, puteți conecta altele suplimentare cu diverse calculatoare, instrumente pentru căutarea și analiza structurii fișierelor. În general, este potrivit atât pentru începători, cât și pentru utilizatorii experimentați. Programul acceptă limba rusă ( selectați următorul meniu: Ajutor / Configurare / Rusă ).

WinHex, pe lângă cele mai comune funcții (care acceptă programe similare), vă permite să „clonați” discuri și să ștergeți informații de pe ele, astfel încât nimeni să nu le poată recupera vreodată!

3) Editor Hex HxD

Un editor de fișiere binare gratuit și destul de puternic. Suportă toate codificările majore (ANSI, DOS/IBM-ASCII și EBCDIC), fișiere de aproape orice dimensiune (apropo, editorul permite, pe lângă fișiere, să editeze RAM și să scrie direct modificări pe hard disk!).

De asemenea, puteți observa o interfață bine gândită, o funcție convenabilă și simplă pentru căutarea și înlocuirea datelor, un sistem treptat și pe mai multe niveluri de backup și rollback.

După lansare, programul este format din două ferestre: în stânga este codul hexazecimal, iar în dreapta este traducerea textului și conținutul fișierului.

Dintre minusuri, aș evidenția lipsa limbii ruse. Cu toate acestea, multe funcții vor fi clare chiar și pentru cei care nu au învățat niciodată engleza...

4) HexCmp

HexCmp - acest mic utilitar combină 2 programe simultan: primul vă permite să comparați fișiere binare între ele, iar al doilea este un editor hexadecimal. Aceasta este o opțiune foarte valoroasă atunci când trebuie să găsiți diferențe în diferite fișiere, ajutându-vă să explorați diferitele structuri ale unei game largi de tipuri de fișiere.

Apropo, locurile după comparație pot fi vopsite în culori diferite, în funcție de unde se potrivește totul și unde datele sunt diferite. Comparația se întâmplă din mers și foarte repede. Programul acceptă fișiere a căror dimensiune nu depășește 4 GB (suficient pentru majoritatea sarcinilor).

Pe lângă comparația obișnuită, puteți compara și sub formă de text (sau chiar ambele deodată!). Programul este destul de flexibil, vă permite să personalizați schema de culori și să specificați butoanele de comenzi rapide. Dacă configurați programul în mod corespunzător, puteți lucra cu el fără mouse! În general, recomand ca toți „verificatorii” începători ai editorilor hexadecimale și structurilor de fișiere să-l citească.

5) Atelier Hex

Hex Workshop este un editor de fișiere binare simplu și convenabil, care se distinge în primul rând prin setările sale flexibile și cerințele reduse de sistem. Datorită acestui lucru, poate fi folosit pentru a edita fișiere destul de mari care pur și simplu nu se deschid sau nu se îngheață în alte editori.

Editorul are toate cele mai necesare funcții: editare, căutare și înlocuire, copiere, lipire etc. Programul poate efectua operații logice, poate efectua comparații de fișiere binare, vizualiza și genera diverse sume de verificare a fișierelor, exporta date în formate populare: rtf și html .

Editorul are și un convertor între sisteme binar, binar și hexazecimal. În general, un arsenal bun pentru un editor hexadecimal. Poate singurul negativ este că programul este shareware...

Hex Editor Neo este o versiune gratuită a unui editor de fișiere hexazecimal și binar, capabil să editeze obiecte mari. Vă permite să anulați/refaceți de mai multe ori după editare. În plus, sunt încorporate instrumente convenabile pentru căutarea și înlocuirea datelor.

Hex Editor Neo are capabilități de evidențiere, vizualizare, editare, înlocuire, depanare și analizare a datelor. O calitate importantă a programului este capacitatea de a deschide simultan mai multe fișiere (suport cu file). Cu editorul, de exemplu, puteți face patch-uri într-un fișier cu două clicuri.

Manipulați fișierele EXE, DLL, DAT, AVI, MP3, JPG cu capabilități nelimitate de anulare/refacere. Istoricul muncii efectuate apare sub formă de arbore; puteți reveni oricând cu ușurință la tipul de date dorit sau original.

Caracteristicile Hex Editor Neo

  • Editați fișiere binare de orice dimensiune la cea mai rapidă viteză
  • Găsiți și înlocuiți datele în fișiere binare
  • Scrierea de programe cu microcod
  • Explorarea funcționalității oricărui fișier executabil

Ca Windows Notepad. Mai mult, dacă deschideți un fișier binar cu un editor de text și îl salvați pe disc, în cele mai multe cazuri fișierul va fi corupt și nu va rula. Pentru a face editări corecte, trebuie să utilizați editori hexazecimali (hex), care sunt uneori numiți și editori binari.

Este puțin probabil ca majoritatea utilizatorilor obișnuiți să aibă sarcini sau nevoi să folosească editori hexazecimali. Cu toate acestea, pentru utilizatorii cunoscători de tehnologie, astfel de editori pot fi instrumente indispensabile.

Notă: De fapt, dar la un moment dat, pentru a edita instalatorii standard de asp.net 1.1, a trebuit să ajustați codul binar. De exemplu, pentru a face unul dintre controale un câmp de introducere a parolei.

Această recenzie conține unele dintre cele mai bune editoare hexadecimale gratuite pentru diferite nevoi.

Revizuirea editorilor gratuiti Hex

Există câteva editoare hexadecimale gratuite excelente, variind de la produse mici și simple până la produse complexe care sunt comparabile cu soluțiile comerciale. Cu toate acestea, categoria editor hex este una dintre acele categorii în care nevoile și preferințele personale sunt atât de importante încât compararea produselor este nu numai dificilă, ci și inutilă. Prin urmare, nu trebuie să presupuneți că produsele sunt aranjate în ordine descrescătoare.

HxD este un excelent editor hexazecimal hexazecimal

Unul dintre cele mai bune utilitare pentru editarea codului binar este . În primul rând, programul este portabil și nu necesită instalare, ceea ce este deosebit de important dacă deseori trebuie să editați fișiere executabile. În al doilea rând, are o interfață plăcută. În al treilea rând, HxD procesează fișiere mari fără întârzieri sau înghețarea ecranului. În plus, adăugați istoric de editare nelimitat, căutare și înlocuire rapidă, comparație de fișiere binare și suport complet pentru ANSI, DOS/IBM-ASCII și EBCDIC. Și încă o duzină de posibilități, dintre care unele vor fi enumerate mai jos. HxD vă permite, de asemenea, să editați nu numai discul, ci și memoria RAM. De fapt, un astfel de set de capabilități face din program o jucărie periculoasă în mâinile utilizatorilor începători. În plus, aplicațiile de securitate pot reacționa la acțiunile sale în același mod, dar utilizatorii experimentați înțeleg că acest lucru se întâmplă din cauza specificului accesării datelor și a utilizării funcțiilor potențial periculoase.

În general, HxD este grozav pentru cei care se confruntă frecvent cu diverse coduri binare.

Alte caracteristici și caracteristici:

  • Acces securizat la fișierele pe care le folosesc alte programe
  • Generator de sumă de control: Sumă de control, CRC, CRC personalizat, SHA-1, SHA-512, MD5, ...
  • Exportați date în diferite formate
  • Inserarea șabloanelor de cod
  • Posibilitatea de a șterge fișiere în siguranță.
  • Împărțirea sau îmbinarea fișierelor
  • Diverse tipuri de grupări în coloane (1,2,4,8,16 octeți)
  • Evidențierea datelor modificate
  • Salt rapid la o adresă
  • Suport pentru copierea datelor clipboard din alte programe: Visual Studio/Visual C++, WinHex, HexWorkshop, ...
  • Marcaje
  • Și mult mai mult...

Editor Hex Hexplorer este un analog al HxD cu capacitatea de a vizualiza imagini atunci când se analizează steganografia

Un alt editor hexadecimal este open source. Programul are o serie de caracteristici unice care îl fac și un puternic editor de imagini binare. Aceasta înseamnă că puteți privi toate fișierele grafice nu numai din punctul de vedere al reprezentării lor vizuale, ci și al codului lor binar. Desigur, este greu de imaginat editarea imaginilor în hexazecimal în viața de zi cu zi. Cu toate acestea, poate fi utilizat în scopuri precum steganografia.

În general, Hexplorer este potrivit nu numai pentru cei care editează frecvent codul binar, ci și pentru cei care folosesc modalități non-standard de a utiliza codul binar.

Principalele caracteristici și caracteristici:

  • Șase scheme de culori ale interfeței pentru diverse sarcini.
  • Istoricul comenzilor nelimitat
  • dezasamblator x86
  • Importați și exportați în 20 de formate de fișiere binare diferite, inclusiv Intel Hex, Motorola S-Record, standard Atmel etc.
  • Abilitatea de a găsi modele recurente în date
  • Vizualizarea imaginilor
  • Filtrarea textului din datele binare
  • Algoritmul de căutare Boyer-Moore
  • Navigare rapidă către adrese
  • Vă permite să creați structuri de tipuri de date simple, cum ar fi numere întregi sau numere în virgulă mobilă
  • Generator de numere pseudo-aleatoare
  • Vă permite să înregistrați macrocomenzi (scripturi) pentru a automatiza sarcinile

Alți editori hexadecimale

Există și alți editori hexadecimale care merită atenție și care pot fi utile.

Editor hexazecimal XVI32 simplu și convenabil

XVI32 este un editor hexazecimal gratuit al cărui nume provine de la cifra romană XVI (16).

  • Suportă scripturi pentru automatizarea sarcinilor.
  • Căutați după model
  • ASCII/ANSI
  • Conversie de caractere pe baza definițiilor utilizatorului
  • Scrierea blocurilor individuale într-un fișier
  • Si alte posibilitati...
  • Stochează fișierul deschis în memorie, astfel încât fișierele mari vor avea probleme.
  • Ca atare, nu există un istoric al comenzilor. Aceasta înseamnă că orice modificări pe care le faci sunt făcute „ca atare” și va trebui să le notezi sau să le ții minte.

Suporta Windows 9x/NT/2000/XP/Vista/7

Editor Hex HexEdit cu un calculator specializat

HexEdit este un alt editor binar gratuit de la MiTeC.

  • Nu este nevoie de instalare (portabil)
  • RAM și editor de disc
  • Calculator specializat
  • Poate compara fișiere
  • Poate descărca datele de pe RAM pe disc (creați un dump)
  • Si altii...
  • Stochează fișierele deschise în memorie

Suporta Windows 2000 - Windows 7

Cygnus Editor simplu hex gratuit

Cygnus Free este un editor hexadecimal gratuit, care este una dintre versiunile mai vechi ale editorului comercial. Prin urmare, funcționalitatea este limitată.

  • Rapid și ușor de utilizat
  • Căutare rapidă și înlocuire
  • Trage si lasa
  • Si alte posibilitati...
  • Stochează un fișier deschis în RAM cu toate problemele care decurg
  • Versiunea gratuită nu are suport tehnic
  • Decupat pentru funcționalitate

Suporta Windows

Ghid de selecție rapidă (Link-uri pentru a descărca editori hexadecimal gratuit)

HxD

Acceptă multe limbi, inclusiv rusă. Editor de disc și RAM. Editează rapid fișiere mari. Vă permite să generați sume de control. Capabil să compare fișiere. Poate șterge, îmbina și împărți fișiere în siguranță.
Toate modificările sunt salvate imediat pe disc. Prin urmare, faceți întotdeauna copii de siguranță ale fișierelor înainte de a edita.
http://mh-nexus.de/en/hxd/
http://mh-nexus.de/en/downloads.php?product=HxD
850 KB 1.7.7.0 Program gratuit nerestricționat Windows 95 - 7

Hexplorer

RAM și editor de disc. Caracteristici suplimentare, cum ar fi transformata Fourier. Vizualizați imagini. Poate recunoaște anteturile NTFS/FAT, BMP și așa mai departe. Suporta macrocomenzi pentru automatizarea sarcinilor
Păstrează fișierul deschis în întregime în memorie, făcând fișierele mari dificil de editat. În mod implicit, fontul și setările de afișare nu sunt foarte bine alese.