Enciklopedija zaštite od požara

Uređivač binarnih datoteka na ruskom. Hex Editor

Sada će biti puno materijala na temu od čega se sastoje podaci i kako se mogu uređivati. Mnogi ljudi znaju da je svaka datoteka na računalu (slika, tekst ili multimedija) binarni kod - nule i jedinice. Za uređivanje takvih datoteka koristite HEX urednici– aplikacija koja uređuje podatke koji se sastoje od bajt koda. Bajtovi u uređivaču su predstavljeni kao heksadecimalni.

Ekstenzija datoteke

Problem je u ogromnom broju tipova datoteka i isprva nije jasno kako operativni sustav određuje tekstualne, multimedijske ili arhivske i druge vrste podataka. Kao što znate, sustav definira datoteku pomoću ekstenzije koja je dodana nakon naziva, na primjer, ".exe", ".txt" i drugi.

Postavke u OS-u su fleksibilne, što znači da se ekstenzija bilo koje datoteke može ukloniti, ali tada je operativni sustav neće moći otvoriti, neće razumjeti s kojim programom je pokrenuti. U ovom slučaju, logička struktura objekta neće se promijeniti. Slika prikazuje tekstualnu datoteku, a pored nje je ista, ali bez ekstenzije i ikona joj je bijela.

Ako objekt bez ekstenzije ostane ista datoteka s logičkim skupom znakova, onda ekstenzija ne određuje njegovu vrstu, ali što onda? Postoji nešto kao format- ovo definira tip, to je također specifikacija strukture podataka. Produžetak je sasvim drugi pojam. Ali što ako je korisnik u početku naišao na datoteku bez ekstenzije, ali je hitno treba otvoriti, a što je nepoznato?

Deskriptori

Sve datoteke se mogu grubo podijeliti u dvije komponente - zaglavlje koje sadrži podatke o identifikaciji objekta i razne metapodatke. Druga komponenta je "tijelo" objekta, uz pomoć kojeg se određuje tip objekta i dijelovi zaglavlja koje ima naziv deskriptora. Dva popularna deskriptora su − ASCII i HEX. Druga opcija analizirana je uz pomoć urednika koji su spomenuti na početku.

Prva ASCII metoda definirana je pomoću uređivača teksta, na primjer, Notepad++, međutim, vrijedi uzeti u obzir jednu točku - neki setovi bajtova ne mogu se pretvoriti u ASCII format, što znači da se preporučuje korištenje HEX uređivača. Pokretanjem bilo koje datoteke pomoću takvog uslužnog programa, prozor će prikazati matrični prikaz s nizom bajtova, pri čemu je jedan bajt sadržan u jednoj od ćelija. Informacije o deskriptoru obično se nalaze u prve 3 ćelije, rijetko u više. Stanice se broje vodoravno. Podaci prikazani u ćelijama prikazani su kao heksadecimalni kod.

Dešifriranje deskriptora

Da biste razumjeli o kakvim se podacima nalazi, morate dešifrirati kod. Da biste to učinili, potrebna vam je posebna usluga koja određuje formate datoteka, na primjer open-file.ru . Ali postoje i drugi resursi koje je lako pronaći na Internetu. Nakon učitavanja datoteke na stranicu, podaci će se analizirati, a zatim će se prikazati rezultat. U nastavku će se pojaviti tablica s vrstom, formatom i opisom datoteke.

Ono što smo gore raspravljali je korištenje HEX editora. Sada se pozabavimo ASCII kodom. Ovaj se kod može analizirati pomoću iste open-file.ru. Drugim riječima, oba se koda provjeravaju u odnosu na resurs i zapravo ništa ne treba unositi.

Ponekad format nije tako lako odrediti. Ovo se odnosi na ASCII zaglavlja. Činjenica je da prvih nekoliko znakova može biti povezano s ekstenzijama datoteka, a možda i s nekoliko formata.

Naravno, postoji mogućnost definiranja formata. Za raščlanjivanje će se koristiti više redaka, a ne samo jedan. Tada će neki od elemenata koji se tamo nalaze na bilo koji način ukazivati ​​na vrstu objekta.

Što još možete učiniti s hex editorom

Osim činjenice da HEX urednici pomažu u analizi bilo koje datoteke, moguće je:

  1. rad sa slikama diska;
  2. uređivati ​​odjeljke;
  3. promijeniti sadržaj RAM-a;
  4. promijeniti virtualni adresni prostor procesa i tako dalje.

Na primjer, uslužni programi ove vrste koriste se u razvoju softvera. Kada trebate unijeti podatke nakon što je program preveden, ali ga ne želite ponovno kompajlirati. Bilo koji programski kod može se mijenjati pomoću HEX editora. Naravno, morate biti u mogućnosti to učiniti, pronaći potrebne podatke. Stoga nastoje popraviti pogreške u kodu ili ih koristiti za hakiranje i varanje. To znači da je upotreba HEX editora vrlo široka.

Koje hex uređivače koristiti

Postoji mnogo programa za uređivanje podataka, a ovdje su predstavljeni u nastavku:

Popularan uslužni program za Windows. Uz to, korisnik neće moći otvoriti bilo koju vrstu datoteke i promijeniti je. Ako je nešto pogrešno uređeno, uslužni program ima povijest promjena i uvijek se možete vratiti u prvobitno stanje.

Alat radi vrlo brzo, a nema puno težine, a može raditi i s velikim datotekama. Sučelje je jednostavno i prikladno za početnike, postoji ruski jezik.

Ovaj uređivač se može neko vrijeme koristiti u demo verziji, a zatim ga morate kupiti. Alat je univerzalan, gdje se nalaze mnoge zanimljive opcije.

Moguće je raditi ne samo s datotekama, već i s tvrdim diskovima, flash diskovima, optičkim diskovima, pa čak i disketama. Svi Windows datotečni sustavi su podržani. Podržava kloniranje particija i trajno brisanje podataka bez mogućnosti oporavka

Ako ste početnik, onda vam je ovaj program dovoljan, posebno u odjeljku Pomoć postoji mogućnost prebacivanja na sučelje na ruskom jeziku.

2 u 1 uslužni program, jer ima funkciju usporedbe datoteka i ugrađeni HEX editor. Ponekad može biti potrebno usporediti te datoteke kako bi se utvrdile razlike i sličnosti, te analizirala struktura objekata različitih formata.

Ako se dvije datoteke razlikuju, područja na matrici bit će obojana u bilo koju boju, a sama usporedba se odvija u nekoliko sekundi. Istina, datoteke ne veće od 4 GB prikladne su za analizu.

Sam uslužni program ima mogućnost promjene sučelja. Što znači da ga korisnik može prilagoditi sebi. Posao će ići brže.

Ova stvar dolazi besplatno, ali može raditi s masovnim podacima bilo kojeg formata i kodiranja. Moguće je promijeniti RAM i tvrdi disk.

Program kombinira izlaz heksadecimalnog koda i ASCII teksta. Sučelje za sučelje na engleskom jeziku je prilično jednostavno, tako da rad s njim neće biti težak, pogotovo ako ste već radili u sličnim uređivačima.

Ako se datoteka ne otvori u jednom uređivaču, otvorit će se u ovom. Zato sam ovdje dao popis nekoliko uslužnih programa. Navedeni alat odgovoran je za otvaranje binarnih datoteka. Postoje mnoge postavke, a zahtjevi sustava dostupni su za svako računalo.

Rad u ovom uređivaču jednostavan je kao ispis u Wordu. Postoje opcije za usporedbu datoteka, njihovih kontrolnih zbroja i izvoza analize u različite formate, kao što je html.

Ako trebate pretvoriti jedan kod u drugi brojevni sustav, Hex Workshop ima pretvarač. Program je shareware, što se može smatrati jednim od nedostataka.

Ovdje ste naučili što su HEX uređivači i zašto se koriste. U budućnosti ću pokušati pisati članke o radu s njima, na primjer, kada trebate urediti datoteku.

Nakon završetka serije članaka “Najbolji alati za pentester”, u uredništvo je stiglo mnoštvo pisama sa zahtjevom za odabir hex urednika. Zanimljiva, naravno, nije mogućnost uređivanja binarnih podataka, već dodatne značajke poput automatskog prepoznavanja struktura podataka i rastavljanja koda. Da bismo napravili pregled, saznali smo mišljenja ljudi koji se često moraju petljati s takvim alatima - virusnih analitičara. A evo što su nam rekli.

Svaki heksadecimalni uređivač omogućuje vam istraživanje i izmjenu datoteke na niskoj razini, radeći s bitovima i bajtovima. Sadržaj datoteke prikazan je u heksadecimalnom obliku. Ovo je osnovna funkcionalnost. Međutim, neki urednici korisnicima nude mnogo više, omogućujući im da shvate, zapravo, što je što u tom nerazumljivom skupu znakova koji se pojavljuje kada se datoteka otvori. Da biste to učinili, ASCII i Unicode nizovi se automatski izdvajaju, traže se poznati obrasci, prepoznaju se osnovne strukture podataka i još mnogo toga. Postoji dosta hex editora, ali ako ih odlučimo razmotriti u kontekstu uzoraka zlonamjernog softvera, neke od njih lako je istaknuti. Samo nekoliko je stvarno korisnih za analizu zlonamjernog koda i ispitivanje zaraženih dokumenata (recimo, PDF).

McAfee FileInsight

FileInsight je besplatni hex uređivač za Windows tvrtke McAfee Labs. Proizvod, naravno, obavlja sve standardne funkcije povezane s takvim softverom, nudeći prikladno sučelje za pregled i uređivanje datoteka u heksadecimalnom i tekstualnom načinu rada. Ali ovo je samo kap u moru, ako pogledate svu njegovu funkcionalnost. Vrijedi početi s činjenicom da FileInsight može analizirati strukturu izvršnih binarnih datoteka za Windows (PE datoteke), kao i Microsoft Office OLE objekte. I ne samo to, korisniku se nudi ugrađeni x86 rastavljač. Dovoljno je odabrati dio datoteke koji želite vidjeti kao čitljiv kod, a FileInsight će prikazati ovaj fragment kao popis asemblerskih uputa. Disassembler je posebno koristan kada tražite shellcode u zlonamjernim datotekama. Druge opcije koje će reverseri voljeti je mogućnost uvoza deklaracija strukture. Da biste to učinili, program samo treba navesti datoteku zaglavlja s deklaracijama kao što su:

struct ANIHeader(
DWORD cbSizeOf; // Broj bajtova u AniHeaderu
DWORD cOkviri; // Broj jedinstvenih ikona
DWORD cKoraci; // Broj blitova
};

U ovom slučaju, sam će program analizirati takve konstrukcije. Međutim, mnogi intuitivni algoritmi za obradu koda nude se prema zadanim postavkama. Prije svega, govorimo o dekodiranju mnogih metoda zamagljivanja (xor, add, shift, Base64, itd.) - ugrađene skripte kliknu na takvu kriptozaštitu jednom ili dvaput. Ovdje treba napomenuti da predmet istraživanja ne mora biti binarnost, to može biti obična web stranica koja izaziva sumnju. Program vam omogućuje automatizaciju mnogih radnji pomoću jednostavnih JavaScript skripti ili Python modula, koji su već dosta napisani. Jao, uz sve prednosti, FileInsight ima i ozbiljan nedostatak, koji se izražava u nemogućnosti obrade velikih datoteka. Na primjer, ako uslužnom programu pokušate ubaciti datoteku od 400-500 MB, greška "Otvaranje dokumenta nije uspjela" ruši se.

Hex Editor Neo

Postoje dvije verzije ovog hex uređivača od HDD Software-a - jednostavna besplatna verzija i napredna komercijalna verzija. Besplatna verzija je solidan, ali neupadljiv HEX editor koji ima cool prilagodljivo sučelje s podrškom za različite sheme boja. Ne više. Ali profesionalna verzija Hex Editor Neo nudi nekoliko korisnih opcija koje mogu biti iznimno korisne pri analizi binarnih datoteka. Na primjer, korisnik dobiva mogućnost dekodiranja šifriranog koda korištenjem najčešćih algoritama. Osim toga, postaje moguće pregledavati i uređivati ​​lokalne resurse kao što su NTFS tokovi, lokalni diskovi, procesna memorija i RAM. U najpotpunijoj verziji postoji i podrška za skriptni jezik, koji vam omogućuje automatizaciju mnogih procesa pomoću skripti u VBScript i JavaScript. Ali najbolji dio je što imate ugrađeni rastavljač koji radi s x86, x64 i .NET binarnim datotekama! Još jedna značajka je brzo stvaranje zakrpa na temelju usporedbe dviju binarnih datoteka. Zvuči impresivno, ali je li bolji od FileInsighta? Vjerojatno ne. FileInsight općenito izgleda funkcionalnije. S druge strane, čak i besplatna verzija Hex Editor Neo radi izvrsno čak i s vrlo velikim datotekama i omogućuje vam pretraživanje ASCII i Unicode nizova. Disassembler ovdje nije ograničen samo na x86 platformu, a ugrađeni uređivač resursa je vrlo zgodan. Ima o čemu razmišljati.

FlexHex

FlexHex je moćan komercijalni hex editor iz Heaventools Softwarea koji uključuje mnoge značajke dostupne u Hex Editor Neo. Jedino čega ovdje nema je, možda, podrška za skripte. Ali ovaj potpuno opremljeni uređivač jednako dobro obrađuje binarne datoteke, OLE datoteke, fizičke diskove i alternativne NTFS streamove. Potonje je posebno važno jer vam FlexHex omogućuje uređivanje podataka koje drugi urednici možda niti ne vide. Osim toga, odmah osjetite usredotočenost na rad s velikim količinama informacija: bez obzira na to koliko je datoteka velika, navigacija kroz nju se odvija bez ikakvih kašnjenja i kočnica. Za još veću udobnost, postoji sustav praktičnih oznaka. Istodobno, FlexHex kontinuirano čuva povijest svih operacija - bilo koju radnju možete poništiti jednostavnim odabirom s popisa promjena (popis za poništavanje nije ograničen)! FlexHex podržava sve potrebne operacije s binarnim podacima, traženje ASCII i Unicode nizova. Ako trebate obraditi strukturu s prethodno poznatim formatom, neće biti teško postaviti njene parametre pomoću posebnih alata. Kao rezultat, dobivamo izvrstan heksadecimalni uređivač, ali još uvijek mnogo inferioran u odnosu na isti FileInsight. Jedina opcija vrijedna pažnje je obrada OLE datoteka, ali i tu ima problema. Nekoliko puta prilikom pokušaja otvaranja zaraženog OLE-a, program se srušio s pogreškom "Docfile je oštećen".

010 urednik

010 Editor je poznati komercijalni proizvod koji je razvio SweetScape Software. Ako ga usporedite s prethodna tri alata, onda može učiniti sve: podržava rad s vrlo velikim datotekama, pruža izvrsne mogućnosti manipulacije podacima, omogućuje vam uređivanje lokalnih resursa, ima sustav skriptiranja za automatizaciju rutinskih radnji (više od 140 različitih funkcije na usluzi). A 010 Editor ima polet, jedinstvenu značajku. Urednik sve čini sretnima zahvaljujući mogućnosti raščlanjivanja različitih formata datoteka pomoću vlastite biblioteke predložaka (tzv. Binarni predlošci). Ovdje mu nema premca. Mnogi entuzijasti diljem svijeta rade na predlošcima, udarajući različite formate i strukture podataka. Kao rezultat toga, proces navigacije kroz različite formate datoteka postaje transparentan i razumljiv. To se također odnosi na obradu Windows binarnih datoteka (PE datoteke), Windows datoteka prečaca (LNK), Zip arhiva, datoteka Java klasa i još mnogo toga. Cijelu čar ove značajke mnogi su shvatili kada je poznati stručnjak za sigurnost Didier Stevens kreirao predložak za raščlanjivanje PDF datoteka za 010 Editor. Zajedno s drugim uslužnim programima, to uvelike pojednostavljuje analizu zaraženih PDF dokumenata, koji posljednjih šest mjeseci ne prestaju oduševljavati brojem mjesta na kojima se čitač može koristiti. Ovdje dodajemo super alat za binarnu usporedbu, kalkulator sa sintaksom nalik C, pretvorbu podataka između ASCII, EBCDIC, Unicode formata i dobivamo vrlo atraktivan alat s jedinstvenim značajkama.

ćao

Hiew se po načinu distribucije ne razlikuje puno od svojih kolega - ovo je također komercijalni proizvod koji je razvio naš sunarodnjak Evgeny Suslikov. Uz dugu povijest, program je jako voljen od strane mnogih stručnjaka za informacijsku sigurnost. Postoje sasvim očigledni razlozi za to - moćne mogućnosti za ispitivanje i uređivanje strukture i sadržaja izvršnih datoteka za Windows (PE) i binarne datoteke za Linux (ELF). Još jedna vrlo korisna značajka za vožnju unatrag je ugrađeni x86-64 asembler i rastavljač. Potonji čak podržava ARM upute. Nepotrebno je reći da uređivač savršeno probavlja velike datoteke i omogućuje vam uređivanje logičkih i fizičkih diskova. Mnogi se zadaci lako automatiziraju putem sustava makronaredbi tipkovnice, skripti, pa čak i API-ja za razvoj proširenja (Hiew Extrenal Modules). Ali prije nego što požurite u bitku, imajte na umu da je Hiew sučelje prozor nalik DOS-u, s kojim je iz navike prilično nezgodno raditi. Ali možete sami osjetiti svu čar stare škole.

radar

Radare je skup besplatnih uslužnih programa za Unix platformu koji pružaju sjajne opcije za uređivanje datoteka u HEX načinu. Uključuje izravno sam hex editor (radare) s mogućnošću otvaranja lokalnih i udaljenih datoteka. Program analizira izvršne datoteke različitih formata, kako Linux (ELF) tako i Windows (PE). Osim uređivanja, Radare ima alat za usporedbu binarnih datoteka (radiff) i ugrađeni asembler/dizassembler. A osobno je nekoliko puta dobro došao alat za generiranje shellcodea (rasc). Sve operacije mogu se lako automatizirati i prilagoditi korištenjem skriptnog sustava. Od minusa, opet, možemo primijetiti nedostatak GUI sučelja - sve se radnje izvode iz naredbenog retka, a s uslužnim programima bit će moguće u potpunosti raditi tek nakon čitanja dokumentacije. S druge strane, stranica ima vizualne screencaste koji pokazuju i glavne točke i male tajne (poput povezivanja Python dodatka).

Dakle, što odabrati?

Pokrili smo nekoliko moćnih hex uređivača koji uključuju korisne opcije za analizu sumnjivih datoteka. Od svih proizvoda ističe se FileInsight koji uz svu svoju funkcionalnost (a zaista je impresivan) ostaje besplatan. 010 Editor nudi veliki broj predložaka za obradu širokog spektra datoteka, uključujući PDF dokumente. Ovo je mega-čip koji se ne smije zanemariti. Ovo su dva urednika koje koristim cijelo vrijeme; za posao analitičara, možda, najbolje odgovaraju. Ako govorimo o radu pod Unix platformom, onda, naravno, ne treba zaboraviti na Radare. Paket nudi vrlo moćne značajke, iako ga je teško koristiti zbog činjenice da radi iz naredbenog retka. Hiew također nije baš prijateljski raspoložen, iako vam njegove mogućnosti zasigurno omogućuju izvođenje raznih operacija s binarnim datotekama. Osim toga, Hiew je izbor mnogih pravih profesionalaca, a ovo puno vrijedi (i puno znači). Što se tiče Hex Editora Neo, trebali biste ga uzeti u službu ako vas zanima mogućnost rastavljanja x86, x64 i .NET koda.

BILJEŠKA
Crteži na ovoj stranici nisu prikazani, ali ih možete pronaći u knjizi.

Ovo što ćemo sada raditi je vrlo zanimljivo s moje točke gledišta. Ovo će biti vaš prvi program strojnog koda (i najvjerojatnije jedini))).

Assembler je jezik niske razine, ali još uvijek jezik. Jeste li pokušali napisati program u strojnom kodu? Sada pokušajmo.

Možete napisati program bez ikakvih asemblerskih prevoditelja i drugih alata - koristeći bilo koji hex editor (ili hex editor ili hex editor).

Ipak, raščlanjivanje programa u heksadecimalnom uređivaču je vrlo korisno. Pogotovo za one koji će raditi s elektronikom - uostalom, mikroprocesori ne razumiju ni Pascal ni C ++. Iako postoje posebni uređaji i programi koje im ti jezici "objašnjavaju".

Prvo vam je potreban hex editor. Možete koristiti bilo koju koju imate pri ruci. Međutim, koristit ću već spomenuti McAfee FileInsight v2.1. Ovaj hex uređivač može se besplatno preuzeti. Sve dolje opisane radnje vrijede za ovaj uređivač.

Dakle, imate instaliran hex editor. Pokrenimo ga. Kliknemo na gumb OPEN, pronađemo jednu od COM datoteka koje smo kreirali, na primjer, debug_1.com, i učitamo je u editor.

Kada se datoteka učita, vidjet ćete sljedeće u uređivaču (vidi također sliku 1.12):

00000000 B4 02 B2 41 CD 21 CD 20 ...A.!. Možete otvoriti još dvije datoteke koje smo kreirali: mycode.com (napravljen u emu8086) ili ATEST.COM (koju smo kreirali u odjeljku ). Vidi isto. To znači da svi asembleri proizvode isti strojni kod. Odnosno, razlike u tekstu programa nisu temeljne - one su posljedica samo razlika u samim asemblerima.

BILJEŠKA
Ako u vašem slučaju vidite drugu sliku, onda ste ili otvorili drugu datoteku ili je gledate u tekstualnom načinu. U potonjem slučaju kliknite gumb View as Hex na alatnoj traci (vidi sliku 1.12).

Što znače ove brojke?

S nulama je sve jasno - ovo je prva memorijska ćelija u kojoj je upisan broj B4. Taj će broj tada biti zapisan na adresu 0100h (za COM datoteku). Redak mora sadržavati 16 brojeva, od kojih se svaki sastoji od dvije znamenke. Brojevi su zapisani u heksadecimalnom obliku. Ali naš program je mali - samo 8 bajtova, tako da imamo 8 brojeva.

Pa, što je B4? Ova naredba je "Unesite vrijednost u registar AH". Koju vrijednost unosimo? Točno: 02 (sljedeći broj u retku).

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 NA PO2 EI: PL N00 B241 MOV DL,41 Vidite zadnji redak B241? Poznata kombinacija? Ovo je MOV DL naredbeni kod, 41.

Ostaje pozabaviti se tajanstvenim likovima na kraju reda. I ovdje je sve jednostavno: svaka znamenka u broju odgovara kodu znaka ASCII tablice, a ti se znakovi prikazuju u istom slijedu kao i heksadecimalne znamenke. U ovom tekstu umjesto nekih znakova nalaze se točke (.) - to su samo kodovi za neabecedne znakove.

Pa, sada napišimo i stvorimo naš dobro proučeni program bez asemblera i povezivača. Otvorite uređivač, kreirajte novu datoteku (da biste to učinili, kliknite gumb NOVO na alatnoj traci), zatim kliknite gumb Prikaži kao heksadecimalni i unesite podatke:

00000000 B4 02 B2 41 CD 21 CD 20 Spremite datoteku s imenom, na primjer, hex_1.com. Svi. Program je spreman. Sada ga možete pokrenuti i još jednom se diviti svojoj kreaciji. Rezultat će biti isti kao u svim prethodnim slučajevima.

I još jedno ugodno iznenađenje od McAfee FileInsight v2.1 editora - ima svoj rastavljač! Ako učitate izvršnu datoteku u uređivač i odaberete karticu DISASSEMBLY u donjem lijevom kutu, možete vidjeti izvorni kod učitanog programa u asemblerskom jeziku (slika 1.12).

Zašto su nam uopće potrebni hex editori i disassembleri? Uostalom, tako je teško. Da, nije lako. Međutim, hakeri ne misle tako. Uz pomoć heksadecimalnih uređivača i disassemblera razbijaju programe. U kodu pronalaze mjesta koja su im potrebna i popravljaju ih u skladu sa svojim hakerskim hirovima.

Naravno, mi nismo hakeri. Nećemo razbijati programe. Međutim, rastavljači i heksadecimalni uređivači vrlo su korisni i za programere koji poštuju zakon. Koriste se, na primjer, za otklanjanje pogrešaka, za proučavanje strojnih kodova itd. Na primjer, znate kako izgleda instrukcija asemblerskog jezika, ali želite znati njezin strojni kod. Ako nema dokumentacije, postoji samo jedan izlaz - heksadecimalni uređivač i / ili rastavljač. Međutim, treba napomenuti da se sve naredbe ne uklapaju u strojni kod dva broja. Neke su naredbe prilično složene i zahtijevaju više brojeva za predstavljanje u strojnim kodovima.

HEX editor je program koji može prikazati informacije onako kako ih računalo "vidi", ali ih pretvara u heksadecimalne. Otvarajući bilo koju datoteku u takvoj aplikaciji, korisnik će vidjeti matricu koja se sastoji od stupaca i redaka, čiji broj ovisi o veličini dotične datoteke. Stoga, ako promijenite vrijednosti bajtova u uređivaču, promijenit će se i sadržaj otvorenog dokumenta.

Malo teorije

Svi podaci pohranjuju se u memoriju računala u obliku strojnih riječi, inače - bajtova. Svaki uključuje 8 bitova (binarne znamenke koje poprimaju vrijednost "0" ili "1"). Matematičkim izračunima možete shvatiti da se u jednom bajtu može napisati broj u rasponu od 0 do 255. Ako 255 pretvorite u heksadecimalni, pretvorit će se u FF. To jest, za prikaz bilo koje strojne riječi, vrlo je prikladno koristiti heksadecimalni prikaz. Otuda i naziv grupe programa - hex editor.

Glavni elementi programa

Osim gore opisane matrice, u sučelju predstavljene grupe aplikacija mogu postojati i druga sredstva:

  • Numeracija redaka. Obično se nalazi na lijevoj strani aplikacije. Prikazuje pomak prvog bajta niza u odnosu na početak datoteke.
  • Na vrhu se često nalazi slična traka brojeva koja pokazuje pomak u bajtu relativne lijeve vrijednosti u retku. Dodavanjem vrijednosti nizova možete dobiti broj svakog bajta.
  • Desno područje može prikazati iste podatke kao u tablici, ali u obliku korisničkog teksta).

McAfee FileInsight

Ovaj HEX uređivač je potpuno besplatan. Radi samo u operativnim sustavima obitelji Windows. Proizvod ima sav džentlmenski set, kao što je pregled i uređivanje datoteke. Istodobno, program ima ugodno i praktično sučelje.

Ali standardne značajke su minimum za koji se FileInsight može koristiti. Što je maksimum? Morate početi sa sposobnošću raščlanjivanja struktura izvršnih datoteka. Zar ovo nije dovoljno? Svaki odabrani fragment može se rastaviti u hodu. Jedan klik - i nerazumljivi brojevi postaju čitljivi popis.

Između ostalog, ovaj HEX uređivač nudi mnoge algoritame za obradu koda kako bi zaobišli ugrađenu zaštitu od strane programera. Prije svega, morate obratiti pozornost na dekodiranje metoda zamagljivanja kao što su add, xor, Base64, shift. Skripte s kojima aplikacija dolazi s lakoćom razbijaju takvu kripto zaštitu. Većina radnji može se automatizirati pisanjem jednostavnih skripti u JS ili Pythonu. Ponekad nije potrebno stvarati ništa novo, jer je baza ovih impresivna.

Iako se FileInsight smatra jednim od najboljih alata za obrnuti inženjering, postoji veliki nedostatak programa - nemogućnost obrade datoteka većih od 400 MB.

Hex Editor Neo

Ovaj HEX uređivač distribuira se u dvije verzije: besplatna i napredna. Proizvod s besplatnom licencom je visoke kvalitete, ali bez izuzetka. Od značajki možete istaknuti široke postavke sučelja i sheme boja. Profesionalna verzija nudi više korisnih značajki koje su posebno relevantne tijekom analize

Na primjer, korisnik ima mogućnost dekodiranja programa šifriranih uobičajenim algoritmima. Osim toga, postoje funkcije koje vam omogućuju uređivanje lokalnih resursa (RAM, NTFS streamovi, tvrdi diskovi). Automatizacija procesa implementirana je pomoću VBS i JS skripti.

Međutim, najvažnija značajka programa je disassembler, koji može raditi s x64, x86 i .NET datotekama. Još jedna značajka koju konkurenti ne pružaju je stvaranje zakrpe na temelju usporedbe dvije binarne izvršne datoteke. Svakako impresivno, ali u usporedbi s FileInsightom, Neo i dalje gubi. Međutim, NEO može rukovati velikim datotekama.

ćao

Hiew HEX editor nema besplatnu verziju. Tim iz Rusije se bavi razvojem. Proizvod počinje svoju povijest još od dana 16-bitnih aplikacija za DOS i Windows 3.1. Hiew često koriste profesionalci koji se bave pitanjima računalne i informacijske sigurnosti. Razlozi su jasni: cijeli niz mogućnosti za uređivanje i pregled izvršnih Windows binarnih datoteka, kao i kompajliranih Linux programa (ELF).

Još jedna značajna značajka koja pomaže u obrnutom inženjeringu je Hiewov ugrađeni rastavljač i asembler. Štoviše, rade i s x86 i x86_64 aplikacijama, podržane su i upute za procesor.Uređivač se nosi s velikim datotekama bez ikakvih poteškoća, omogućuje vam izmjenu podataka niske razine na fizičkim HDDovima.

Veliki broj radnji može se automatizirati. Da bi to učinili, programeri su ugradili mogućnost stvaranja skripti, makronaredbi tipkovnice i API funkcija koje se koriste za pozivanje internih procedura iz vanjskih aplikacija. No Hiew ipak nije stigao do bezuvjetne pobjede na polju heksadecimalnih urednika. Sučelje mu je u potpunosti napravljeno u stilu DOS-a, a bavi se crtanjem prozora (ili konzole, ako govorimo o Linux sustavima).

Dobar dan svima.

Iz nekog razloga, mnogi ljudi misle da je rad s hex urednicima dio profesionalaca i da se korisnici početnici ne bi trebali petljati u njih. Ali, po mom mišljenju, ako imate barem osnovne vještine računala i razumijete što vam treba hex editor, zašto onda ne?!

Uz pomoć programa ove vrste, možete promijeniti bilo koju datoteku, bez obzira na njen tip (mnogi priručnici i vodiči sadrže informacije o promjeni određene datoteke pomoću hex editora)! Istina, korisnik mora imati barem osnovno razumijevanje heksadecimalnog sustava (podaci u heksadecimalnom uređivaču prikazani su u njemu). No, osnovna znanja o tome daju se na satovima informatike u školi, a vjerojatno su mnogi čuli i imaju ideju o tome (pa to neću komentirati u ovom članku). Dakle, ovdje su najbolji hex editori za početnike (po mom skromnom mišljenju).

1) Besplatni hex Editor Neo

Jedan od najjednostavnijih i najčešćih uređivača za heksadecimalne, decimalne i binarne datoteke pod Windows OS-om. Program vam omogućuje otvaranje bilo koje vrste datoteka, unos izmjena (povijest promjena se sprema), zgodan odabir i uređivanje datoteke, ispravljanje pogrešaka i analizu.

Također je vrijedno napomenuti vrlo dobru razinu performansi, zajedno s niskim zahtjevima sustava za stroj (na primjer, program vam omogućuje otvaranje i uređivanje prilično velikih datoteka, dok se drugi urednici jednostavno zamrznu i odbijaju raditi).

Između ostalog, program podržava ruski jezik, ima promišljeno i intuitivno sučelje. Čak će i početnik korisnik moći razumjeti i početi raditi s uslužnim programom. Općenito, preporučam ga svima koji počinju svoje upoznavanje s hex editorima.

2) WinHex

Ovaj uređivač je, nažalost, shareware, ali je jedan od najsvestranijih, podržava hrpu različitih opcija i značajki (od kojih je neke teško pronaći među konkurentima).

U modu uređivača diskova omogućuje rad s: HDD-om, disketama, flash diskovima, DVD-ovima, ZIP diskovima itd. Podržava datotečne sustave: NTFS, FAT16, FAT32, CDFS.

Ne mogu ne primijetiti prikladne alate za analizu: osim glavnog prozora, možete povezati dodatne s raznim kalkulatorima, alatima za pretraživanje i analizu strukture datoteke. Općenito, prikladno i za početnike i za iskusne korisnike. Program podržava ruski jezik ( odaberite sljedeći izbornik: Help / Setup / English ).

WinHex, osim svojih najčešćih funkcija (koje podržavaju slične programe), omogućuje "kloniranje" diskova i brisanje informacija s njih tako da ih nitko nikada ne može oporaviti!

3) HxD Hex Editor

Besplatan i prilično moćan binarni uređivač. Podržava sva glavna kodiranja (ANSI, DOS/IBM-ASCII i EBCDIC), datoteke gotovo bilo koje veličine (usput, uređivač vam omogućuje uređivanje RAM-a osim datoteka, izravno upisivanje promjena na tvrdi disk!).

Također možete primijetiti dobro osmišljeno sučelje, prikladnu i jednostavnu funkciju za pretraživanje i zamjenu podataka, stepenasti i višerazinski sustav sigurnosnog kopiranja i vraćanja.

Nakon pokretanja, program se sastoji od dva prozora: lijevo je heksadecimalni kod, a desno je prijevod teksta i sadržaj datoteke.

Od minusa bih izdvojio nedostatak ruskog jezika. No, mnoge funkcije bit će jasne i onima koji nikada nisu naučili engleski...

4) HexCmp

HexCmp - ovaj mali uslužni program kombinira 2 programa odjednom: prvi vam omogućuje međusobno uspoređivanje binarnih datoteka, a drugi je heksadecimalni uređivač. Ovo je vrlo vrijedna opcija kada trebate pronaći razlike u različitim datotekama, pomaže istražiti različite strukture raznih vrsta datoteka.

Inače, mjesta nakon usporedbe mogu se obojati u drugu boju, ovisno o tome gdje se sve poklapa i gdje su podaci drugačiji. Usporedba se događa u hodu i vrlo je brza. Program podržava datoteke čija veličina ne prelazi 4 GB (što je dovoljno za većinu zadataka).

Osim uobičajene usporedbe, možete usporediti u tekstualnoj verziji (ili čak oboje odjednom!). Program je prilično fleksibilan, omogućuje vam da prilagodite shemu boja, odredite tipke prečaca. Ako program konfigurirate na ispravan način, onda s njim možete raditi i bez miša! Općenito, preporučam da se upoznaju svi početnici "provjerivači" hex uređivača i struktura datoteka.

Slični postovi