Paloturvallisuustietosanakirja

Binaaritiedostoeditori venäjäksi. Heksadesimaalieditori

Nyt tulee olemaan paljon materiaalia aiheesta, mistä data koostuu ja miten sitä voidaan muokata. Monet ihmiset tietävät, että mikä tahansa tietokoneella oleva tiedosto (kuva, teksti tai multimedia) on binäärikoodi - nollia ja ykkösiä. Jos haluat muokata tällaisia ​​tiedostoja, käytä HEX-toimittajat- sovellus, joka muokkaa tavukoodista koostuvaa dataa. Tavut editorissa esitetään heksadesimaalimuodossa.

Tiedostopääte

Ongelmana on tiedostotyyppien valtava määrä, eikä aluksi ole selvää, kuinka käyttöjärjestelmä määrittää tekstin, multimedian tai arkistoidun ja muun tyyppisen tiedon. Kuten tiedät, järjestelmä määrittää tiedoston nimen jälkeen lisätyllä tunnisteella, esimerkiksi ".exe", ".txt" ja muut.

Käyttöjärjestelmän asetukset ovat joustavia, mikä tarkoittaa, että minkä tahansa tiedoston laajennus voidaan poistaa, mutta sitten käyttöjärjestelmä ei voi avata sitä, se ei ymmärrä millä ohjelmalla se käynnistetään. Tässä tapauksessa objektin looginen rakenne ei muutu. Kuvassa on tekstitiedosto, jonka vieressä on sama, mutta ilman päätettä ja sen kuvake on valkoinen.

Jos objekti ilman tunnistetta pysyy samana tiedostona loogisella symbolijoukolla, niin tunniste ei määritä sen tyyppiä, mutta mitä sitten? On olemassa sellainen asia kuin muoto- tämä määrittää tyypin, se on myös tietorakenteen määritys. Laajentuminen on täysin eri termi. Mutta entä jos käyttäjä alun perin törmäsi tiedostoon, jolla ei ole päätettä, mutta se on avattava kiireellisesti, ja mikä on tuntematon?

Kuvaajat

Kaikki tiedostot voidaan karkeasti jakaa kahteen osaan - otsikkoon, joka sisältää kohteen tunnistetiedot, erilaisia ​​metatietoja. Toinen komponentti on objektin "runko", jonka avulla määritetään objektin tyyppi ja otsikon se osa, jolla on kuvaajan nimi. Kaksi suosittua kuvaajaa ovat - ASCII ja HEX... Toista vaihtoehtoa analysoidaan alussa mainittujen toimittajien avulla.

Ensimmäinen ASCII-menetelmä määritellään tekstieditorilla, esimerkiksi Notepad ++, mutta yksi seikka kannattaa kuitenkin ottaa huomioon - joitain tavujoukkoja ei voida muuntaa ASCII-muotoon, mikä tarkoittaa, että on suositeltavaa käyttää HEX-editoreja. Kun olet käynnistänyt minkä tahansa tiedoston tällaisella apuohjelmalla, ikkuna näyttää näkymän matriisista, jossa on tavusarja, jossa yksi tavu sisältyy yhteen soluista. Kuvaajatiedot löytyvät yleensä kolmesta ensimmäisestä solusta, harvoin useammasta. Solut lasketaan vaakasuunnassa. Soluissa näkyvät tiedot esitetään heksadesimaalikoodina.

Kuvaajan salauksen purku

Jotta ymmärrät, millaista dataa siellä on, sinun on purettava koodin salaus. Tätä varten tarvitset erityisen palvelun, joka määrittää tiedostomuodot, esimerkiksi open-file.ru. Mutta on muitakin resursseja, jotka on helppo löytää Internetistä. Kun tiedosto on ladattu sivustolle, tiedot analysoidaan, ja sitten tulos näytetään. Alla tulee näkyviin taulukko, jossa on tiedoston tyyppi, muoto ja kuvaus.

Yllä keskustelimme HEX-editorien käytöstä. Käsitellään nyt ASCII-koodia. Tämä koodi voidaan analysoida käyttämällä samaa open-file.ru-tiedostoa. Toisin sanoen molemmat koodit tarkistetaan resurssista, eikä käytännössä tarvitse syöttää mitään.

Joskus muotoa ei ole helppo määritellä. Tämä koskee ASCII-otsikoita. Tosiasia on, että muutamat ensimmäiset merkit voivat liittyä tiedostopäätteisiin ja ehkä useisiin muotoihin.

Tietenkin on olemassa tapa määrittää muoto. Analyysissä käytetään useita rivejä, ei vain yhtä. Sitten jotkut siellä sijaitsevat elementit osoittavat millä tahansa tavalla objektin tyypin.

Mitä muuta voit tehdä HEX-editorilla

Sen lisäksi, että HEX-editorit auttavat analysoimaan mitä tahansa tiedostoa, se on mahdollista:

  1. työskennellä levykuvien kanssa;
  2. muokkaa kohdat;
  3. muuttaa RAM-muistin sisältöä;
  4. muuttaa prosessin virtuaalista osoiteavaruutta ja muuta.

Tällaisia ​​apuohjelmia käytetään esimerkiksi ohjelmistokehityksessä. Kun sinun on syötettävä tiedot ohjelman kääntämisen jälkeen, mutta et halua kääntää sitä uudelleen. Mitä tahansa ohjelmakoodia voidaan muuttaa HEX-editorilla. Tietenkin sinun täytyy pystyä tekemään tämä, etsimään tarvitsemasi tiedot. Siten he pyrkivät korjaamaan koodin virheet tai käyttävät niitä hakkerointiin ja huijaamiseen. Tämä tarkoittaa, että HEX-editorien käyttö on erittäin laajaa.

Mitä HEX-editoreja käyttää

Tietojen muokkaamiseen on monia ohjelmia, ja ne on esitetty alla:

Suosittu apuohjelma Windowsille. Sen avulla käyttäjä ei voi avata minkään tyyppistä tiedostoa ja muuttaa sitä. Jos jotain on muokattu väärin, apuohjelmassa on muutoksia ja voit aina palata alkuperäiseen tilaan.

Työkalu toimii erittäin nopeasti, vaikka se ei paina paljon, ja itse pystyy työskentelemään suurten tiedostojen kanssa. Käyttöliittymä on yksinkertainen ja sopii aloittelijoille, siellä on venäjän kieli.

Tätä editoria voidaan käyttää demoversiossa jonkin aikaa, minkä jälkeen sinun on ostettava se. Työkalu on universaali, josta löytyy monia mielenkiintoisia vaihtoehtoja.

On mahdollista työskennellä paitsi tiedostojen, myös kiintolevyjen, flash-median, optisten levyjen ja jopa levykkeiden kanssa. Kaikki Windows-tiedostojärjestelmät ovat tuettuja. Tukee osioiden kloonaustoimintoja ja tietojen poistamista kokonaan ilman palautusmahdollisuutta

Jos olet aloittelija, tämä ohjelma riittää sinulle, etenkin Ohje-osiossa on mahdollisuus vaihtaa venäjänkieliseen käyttöliittymään.

Tämä apuohjelma on 2 in 1, koska siinä on tiedostojen vertailutoiminto ja sisäänrakennettu HEX-editori. Joskus saatat joutua vertailemaan näitä tiedostoja erojen ja yhtäläisyyksien määrittämiseksi ja eri muotoisten objektien rakenteen analysoimiseksi.

Jos kaksi tiedostoa eroavat toisistaan, matriisin alueet värjätään tietyllä värillä ja itse vertailu tapahtuu muutamassa sekunnissa. Totta, enintään 4 Gt:n tiedostot sopivat analysointiin.

Itse apuohjelmalla on mahdollisuus muuttaa käyttöliittymää. Tämä tarkoittaa, että käyttäjä voi muokata sitä itse. Työ sujuu nopeammin.

Tämä asia toimitetaan ilmaiseksi, mutta se pystyy työskentelemään minkä tahansa muotoisen ja koodatun suuren tiedon kanssa. RAM-muistia ja kiintolevyä on mahdollista vaihtaa.

Ohjelma yhdistää heksadesimaali- ja ASCII-tekstitulostuksen. Englanninkielisen käyttöliittymän käyttöliittymä on melko yksinkertainen, joten sen kanssa työskentely ei ole vaikeaa, varsinkin jos olet jo työskennellyt tällaisissa editoreissa.

Jos tiedosto ei avaudu yhdessä editorissa, se avautuu tässä. Siksi olen antanut tänne luettelon useista apuohjelmista. Määritetty työkalu on vastuussa binäärien avaamisesta. Asetuksia on monia, ja järjestelmävaatimukset ovat saatavilla kaikille tietokoneille.

Työskentely tässä editorissa on yhtä yksinkertaista kuin tulostaminen Wordissa. On olemassa vaihtoehtoja tiedostojen, niiden tarkistussummien vertailuun ja analyysin viemiseen eri muotoihin, esimerkiksi html.

Jos sinun täytyy kääntää yksi koodi toiseen numerojärjestelmään, Hex Workshopissa on muunnin. Ohjelma on shareware, jota voidaan pitää yhtenä haitoista.

Nyt olet oppinut, mitä HEX-editorit ovat ja miksi niitä käytetään. Jatkossa yritän kirjoittaa artikkeleita heidän kanssaan työskentelystä esimerkiksi silloin, kun on tarpeen muokata tiedostoa.

Jakson päätyttyä artikkeliin "Parhaat pentester-työkalut" toimitukseen tuli paljon kirjeitä, joissa pyydettiin valikoimaan hex-toimittajia. Mielenkiintoista ei tietenkään ole binääritietojen muokkaaminen, vaan lisäominaisuudet, kuten tietorakenteiden automaattinen tunnistus ja koodin purkaminen. Arvostelun tekemiseksi saimme selville ihmisten mielipiteet, jotka useimmiten joutuvat puuhailemaan tällaisia ​​työkaluja - virusanalyytikot. Ja niin he kertoivat meille.

Mikä tahansa hex-editori mahdollistaa tiedoston tarkastelun ja muokkaamisen matalalla tasolla bittien ja tavujen avulla. Tiedoston sisältö esitetään heksadesimaalimuodossa. Tämä on perustoimintoa. Jotkut editorit tarjoavat käyttäjille kuitenkin paljon enemmän, jolloin he voivat itse asiassa selvittää, mitä siinä käsittämättömässä merkkijoukossa on, joka ilmestyy tiedostoa avattaessa. Tätä varten ASCII- ja Unicode-merkkijonot puretaan automaattisesti, tunnetut kuviot etsitään, perustietorakenteet tunnistetaan ja paljon muuta. Heksadesimaalieditoreja on useita, mutta jos päätimme tarkastella niitä haittaohjelmanäytteiden tarkastelun yhteydessä, on helppo korostaa joitain niistä. Vain muutamat ovat hyödyllisiä haitallisen koodin analysoinnissa ja tartunnan saaneiden asiakirjojen (esim. PDF) tutkimisessa.

McAfee FileInsight

FileInsight on McAfee Labsin ilmainen hex-editori Windowsille. Tuote tietysti suorittaa kaikki tällaisten ohjelmistojen vakiotoiminnot ja tarjoaa kätevän käyttöliittymän tiedostojen katseluun ja muokkaamiseen heksadesimaali- ja tekstitilassa. Mutta tämä on vain pisara meressä, jos tarkastellaan sen kaikkia toimintoja. Aluksi FileInsight pystyy jäsentämään Windowsin suoritettavien binäärien (PE-tiedostojen) rakenteen sekä Microsoft Office OLE -objektien. Lisäksi käyttäjälle tarjotaan sisäänrakennettu x86-purkaja. Riittää, kun valitset tiedoston osan, jota haluat tarkastella luettavana koodina, ja FileInsight näyttää tämän fragmentin kokoonpanoohjeiden luettelona. Disassembler on erityisen hyödyllinen, kun etsitään shell-koodia haitallisista tiedostoista. Muita vaihtoehtoja, joista kääntäjät pitävät, on kyky tuoda rakenneilmoituksia. Tätä varten ohjelman tarvitsee vain määrittää otsikkotiedosto, jossa on ilmoituksia, kuten:

struct ANIHeader (
DWORD cbSizeOf; // Tavujen lukumäärä AniHeaderissä
DWORD cFrames; // Yksilöllisten kuvakkeiden määrä
DWORD cSteps; // Blittien määrä
};

Tässä tapauksessa ohjelma jäsentää tällaiset rakenteet itse. Oletusarvoisesti tarjotaan kuitenkin monia intuitiivisia algoritmeja koodinkäsittelyyn. Ensinnäkin puhumme monien obfuskaatiomenetelmien (xor, add, shift, Base64 jne.) dekoodauksesta - inline-skriptit napsauttavat tällaista salaussuojausta kerran tai kahdesti. Tässä on huomioitava, että tutkimuskohteen ei tarvitse olla binääri, se voi olla myös tavallinen epäilyksiä herättävä verkkosivu. Ohjelman avulla voit automatisoida monia toimintoja käyttämällä yksinkertaisia ​​skriptejä JavaScriptissä tai moduuleita Pythonissa, joista monet on jo kirjoitettu. Valitettavasti kaikista eduistaan ​​​​FileInsightilla on myös vakava haitta, joka ilmenee kyvyttömyydestä käsitellä suuria tiedostoja. Jos esimerkiksi yrität syöttää apuohjelmaan 400–500 Mt:n tiedoston, virheilmoitus "Dokumentin avaaminen epäonnistui" poistuu.

Hex Editor Neo

Tästä HDD Softwaren heksadesimaalieditorista on kaksi versiota - yksinkertainen ilmainen versio ja edistynyt kaupallinen versio. Freeware-versio on vankka, mutta huomaamaton HEX-editori, jolla on viileä mukautettava käyttöliittymä, joka tukee erilaisia ​​​​värimalleja. Ei enempää. Mutta Hex Editor Neon ammattimainen versio tarjoaa useita hyödyllisiä vaihtoehtoja, jotka voivat olla erittäin hyödyllisiä analysoitaessa binaareja. Käyttäjä voi esimerkiksi purkaa yleisimmillä algoritmeilla salatun koodin. Lisäksi on mahdollista tarkastella ja muokata paikallisia resursseja, kuten NTFS-virtoja, paikallisia levyjä, prosessimuistia ja RAM-muistia. Täydellisimmässä versiossa on myös tuki komentosarjakielelle, jonka avulla voit automatisoida monia prosesseja VBScriptin ja JavaScriptin skripteillä. Mutta parasta on, että käytössäsi on sisäänrakennettu disassembler, joka toimii x86-, x64- ja .NET-binäärien kanssa! Toinen ominaisuus on korjaustiedostojen nopea luominen kahden binaarin vertailun perusteella. Kuulostaa vaikuttavalta, mutta onko se parempi kuin FileInsight? Luultavasti ei. FileInsight näyttää yleisesti ottaen toimivammalta. Toisaalta mikä tahansa, jopa ilmainen versio Hex Editor Neosta, toimii hyvin jopa erittäin suurilla tiedostoilla ja antaa sinun etsiä ASCII- ja Unicode-merkkijonoja. Purkaja ei rajoitu vain yhteen x86-alustaan, ja sisäänrakennettu resurssieditori on erittäin kätevä. On mietittävää.

FlexHex

FlexHex on tehokas kaupallinen hex-editori Heaventools Softwarelta, joka sisältää monia Hex Editor Neon ominaisuuksia. Ainoa asia, joka tästä puuttuu, on ehkä komentosarjatuki. Mutta tämä monipuolinen editori käsittelee binaarit, OLE-tiedostot, fyysiset levyt ja vaihtoehtoiset NTFS-virrat yhtä hyvin. Jälkimmäinen on erityisen tärkeä, koska FlexHexin avulla voit muokata tietoja, joita muut editorit eivät ehkä edes näe. Lisäksi keskittyminen suurten tietomäärien kanssa työskentelyyn tuntuu välittömästi: riippumatta siitä, minkä kokoinen tiedosto on, navigointi sen läpi tapahtuu ilman viiveitä ja jarruja. Kätevien kirjanmerkkien järjestelmä toimii vieläkin enemmän. Samaan aikaan FlexHex pitää jatkuvasti historiaa kaikista toiminnoista - voit kumota minkä tahansa toiminnon yksinkertaisesti valitsemalla sen muutosluettelosta (kumousluetteloa ei rajoiteta)! FlexHex tukee kaikkia tarvittavia operaatioita binääritiedoilla etsimällä ASCII- ja Unicode-merkkijonoja. Jos on tarpeen käsitellä rakennetta ennalta määrätyssä muodossa, sen parametrien asettaminen erikoistyökaluilla ei ole vaikeaa. Tuloksena saamme erinomaisen hex-editorin, mutta silti paljon huonomman kuin sama FileInsight. Ainoa merkittävä vaihtoehto on OLE-tiedostojen käsittely, mutta myös tässä on ongelmia. Useita kertoja yrittäessään avata tartunnan saaneen OLE:n ohjelma kaatui antamalla virheilmoituksen "Dokumenttitiedosto on vioittunut".

010 Toimittaja

010 Editor on SweetScape Softwaren kehittämä tunnettu kaupallinen tuote. Jos vertaat sitä kolmeen edelliseen työkaluun, se voi tehdä kaiken: se tukee työskentelyä erittäin suurten tiedostojen kanssa, tarjoaa hienoja mahdollisuuksia tietojen käsittelyyn, voit muokata paikallisia resursseja, siinä on komentosarjajärjestelmä rutiinitoimintojen automatisoimiseksi (yli 140 erilaisia ​​toimintoja palveluksessasi). Ja 010 Editorissa on myös käänne, ainutlaatuinen ominaisuus. Editori tekee kaiken sen ansiosta, että se pystyy jäsentämään erilaisia ​​tiedostomuotoja käyttämällä omaa mallikirjastoaan (ns. Binary Templates). Täällä hänellä ei ole vertaa. Monet harrastajat ympäri maailmaa työskentelevät mallipohjien parissa, vasaroivat eri formaateissa ja tietorakenteissa. Tämän seurauksena eri tiedostomuotojen selaamisesta tulee läpinäkyvä ja ymmärrettävä. Tämä koskee myös Windows-binaarien (PE-tiedostot), Windowsin pikakuvaketiedostojen (LNK), Zip-arkistojen, Java-luokkatiedostojen ja paljon muuta käsittelyä. Monet ihmiset ymmärsivät tämän tempun kauneuden, kun kuuluisa tietoturvaasiantuntija Didier Stevens loi mallin PDF-tiedostojen jäsentämiseen 010 Editorille. Yhdessä muiden apuohjelmien kanssa tämä yksinkertaisti huomattavasti tartunnan saaneiden PDF-dokumenttien analysointia, jotka viimeisen kuuden kuukauden aikana eivät ole koskaan lakanneet hämmästyttämästä lukuisia paikkoja, joista lukijaa voidaan hyödyntää. Lisäämme tähän hienon työkalun binäärien vertailuun, laskimen C-kaltaisella syntaksilla, tietojen muuntamiseen ASCII-, EBCDIC-, Unicode-muotojen välillä, ja saamme erittäin houkuttelevan työkalun ainutlaatuisilla ominaisuuksilla.

Hei

Jakelutavan suhteen Hiew ei eroa paljon kollegoistaan ​​- se on myös kaupallinen tuote, jonka maanmiehimme Evgeny Suslikov on kehittänyt. Ohjelmalla on pitkä historia, ja se on erittäin suosittu monien tietoturva-ammattilaisten keskuudessa. Tähän on aivan ilmeiset syyt - tehokkaat mahdollisuudet tutkia ja muokata suoritettavien tiedostojen rakennetta ja sisältöä sekä Windowsissa (PE) että binääritiedostoissa Linuxille (ELF). Toinen erittäin hyödyllinen ominaisuus peruuttamista varten on sisäänrakennettu x86-64-asentaja ja -purkaja. Jälkimmäinen tukee jopa ARM-ohjeita. Sanomattakin on selvää, että editori sulattaa erinomaisesti suuria tiedostoja ja antaa sinun muokata loogisia ja fyysisiä asemia. Monet tehtävät automatisoidaan helposti näppäimistömakrojen, komentosarjojen ja jopa laajennusten kehittämisen API:n (Hiew Extrenal Modules) avulla. Mutta ennen kuin ryntäät taisteluun, muista - Hiew-käyttöliittymä on DOS-tyyppinen ikkuna, jonka kanssa työskentely tottumuksesta on melko hankalaa. Mutta voit tuntea itsessäsi kaiken vanhan koulun viehätyksen.

Radare

Radare on kokoelma ilmaisia ​​apuohjelmia Unix-alustalle, jotka tarjoavat hienoja ominaisuuksia tiedostojen muokkaamiseen HEX-tilassa. Se sisältää itse hex-editorin (radare), jolla on mahdollisuus avata paikallisia ja etätiedostoja. Ohjelma analysoi eri muotoisia suoritettavia tiedostoja, sekä Linux (ELF) että Windows (PE). Muokkauksen lisäksi Radaressa on binaarinen vertailutyökalu (radiff) ja sisäänrakennettu kokoonpano-/purkaja. Ja henkilökohtaisesti pari kertaa työkalu shellkoodien luomiseen (rasc) oli hyödyllinen. Kaikki toiminnot voidaan helposti automatisoida ja mukauttaa komentosarjajärjestelmän avulla. Miinuksista voimme jälleen huomata graafisen käyttöliittymän puuttumisen - kaikki toiminnot suoritetaan komentoriviltä, ​​ja voit työskennellä täysin apuohjelmien kanssa vasta asiakirjojen lukemisen jälkeen. Toisaalta sivustolla on visuaalisia screencasteja, jotka näyttävät sekä pääkohdat että pienet salaisuudet (kuten Python-laajennuksen yhdistäminen).

Joten mitä sinun pitäisi valita?

Olemme tutkineet useita tehokkaita hex-editoreja, jotka sisältävät hyödyllisiä vaihtoehtoja epäilyttävien tiedostojen analysointiin. Kaikista tuotteista erottuu FileInsight, joka kaikesta toiminnallisuudestaan ​​​​(ja se on todella vaikuttava) on edelleen ilmainen. 010 Editor tarjoaa suuren määrän malleja monenlaisten tiedostojen, mukaan lukien PDF-dokumenttien, käsittelyyn. Tämä on mega-ominaisuus, jota ei voi jättää huomiotta. Käytän näitä kahta editoria koko ajan; analyytikolle ne sopivat ehkä parhaiten. Jos puhumme Unix-alustalla työskentelemisestä, emme tietenkään saa unohtaa Radarea. Paketti tarjoaa erittäin tehokkaita ominaisuuksia, vaikka sitä on vaikea käyttää, koska se toimii komentoriviltä. Hiew ei myöskään ole kovin ystävällinen, vaikka sen ominaisuudet antavat tietysti mahdollisuuden suorittaa erilaisia ​​​​toimintoja binäärien kanssa. Lisäksi Hiew on useiden todellisten ammattilaisten valinta, ja se on paljon arvoinen (ja merkitsee paljon). Mitä tulee Hex Editor Neoon, se kannattaa ottaa käyttöön, jos olet kiinnostunut kyvystä purkaa x86-, x64- ja .NET-koodia.

MERKINTÄ
Kuvia ei näytetä tällä sivulla, mutta ne löytyvät kirjasta.

Se, mitä aiomme tehdä nyt, on minun näkökulmastani erittäin mielenkiintoista. Tämä on ensimmäinen konekoodiohjelmasi (ja todennäköisesti ainoa))).

Assembly on matalan tason kieli, mutta se on silti kieli. Oletko yrittänyt kirjoittaa ohjelmaa konekoodeilla? Yritetään nyt.

Voit kirjoittaa ohjelman ilman kokoajia-kääntäjiä ja muita työkaluja - millä tahansa hex-editorilla (tai hex-editorilla tai hex-editorilla).

Silti ohjelmien jäsentäminen heksadesimaalieditorissa on varsin hyödyllistä. Erityisesti niille, jotka aikovat työskennellä elektroniikan parissa - loppujen lopuksi mikroprosessorit eivät ymmärrä Pascalia tai C ++: ta. Vaikka on olemassa erityisiä laitteita ja ohjelmia, jotka nämä kielet "selittävät" heille.

Ensin tarvitset hex-editorin. Voit käyttää mitä tahansa, mitä sinulla on käden ulottuvilla. Käytän kuitenkin edellä mainittua McAfee FileInsight v2.1:tä. Tämä hex-editori on ladattavissa ilmaiseksi. Kaikki alla kuvatut toiminnot ovat voimassa tälle editorille.

Joten sinulla on heksadesimaalieditori asennettuna. Käynnistämme sen. Napsautamme OPEN-painiketta, etsimme yhden luomistamme COM-tiedostoista, esimerkiksi debug_1.com, ja lataamme sen editoriin.

Kun tiedosto on ladattu, näet editorissa seuraavan (katso myös Kuva 1.12):

00000000 B4 02 B2 41 CD 21 CD 20 ... A.!. Voit avata kaksi muuta luomaamme tiedostoa: mycode.com (luotu emu8086:ssa) tai ATEST.COM (jotka loimme osiossa). Näet saman asian. Tämä tarkoittaa, että kaikki kokoajat luovat saman konekoodin. Toisin sanoen erot ohjelmien tekstissä eivät ole perustavanlaatuisia - ne johtuvat vain eroista itse kokoajissa.

MERKINTÄ
Jos näet tapauksessasi toisen kuvan, olet joko avannut toisen tiedoston tai katselet sitä tekstitilassa. Jälkimmäisessä tapauksessa napsauta työkalupalkin Näytä heksadesimaattisena -painiketta (katso kuva 1.12).

Mitä nämä luvut tarkoittavat?

Kaikki on selvää nollien kanssa - tämä on ensimmäinen muistisolu, johon numero B4 kirjoitetaan. Tämä numero kirjoitetaan sitten osoitteeseen 0100h (COM-tiedostoa varten). Rivillä tulee olla 16 numeroa, joista jokainen koostuu kahdesta numerosta. Numerot kirjoitetaan heksadesimaalimuodossa. Mutta ohjelmamme on pieni - vain 8 tavua, joten meillä on 8 numeroa.

Mutta mikä on B4? Tämä on komento - "Syötä arvo rekisteriin AH". Ja minkä arvon syötämme? Oikein: 02 (rivin seuraava numero).

AX = 0200 BX = 0000 CX = 0000 DX = 0000 SP = FFEE BP = 0000 SI = 0000 DI = 0000 DS = 0B72 ES = 0B72 SS = 0B72 CS = 0B72 SS = 0B72 CS = 0B72 SS = 0B72 CS = 0B72 SS = 0B72 CS = 0B72 NAV2: PL0102 PL0102 NV 2 0 0 0 0 B241 MOV DL, 41 Katso B241 viimeisellä rivillä? Tuttu yhdistelmä? Tämä on MOV DL -komentokoodi, 41.

On vielä käsiteltävä salaperäisiä hahmoja rivin lopussa. Mutta tässä kaikki on yksinkertaista: jokainen numero numerossa vastaa ASCII-taulukon merkkikoodia, ja nämä merkit näytetään samassa järjestyksessä kuin heksadesimaalinumerot. Tässä tekstissä jotkin merkit on korvattu pisteillä (.) - nämä ovat vain koodeja ei-aakkosisille merkeille.

No, nyt kirjoitetaan ja luodaan hyvin tutkittu ohjelmamme ilman kokoajia ja linkittäjiä. Avaa editori, luo uusi tiedosto (tämä tehdään napsauttamalla työkalupalkin UUSI-painiketta), napsauta Näytä heksadesimaalimuodossa -painiketta ja syötä tiedot:

00000000 B4 02 B2 41 CD 21 CD 20 Tallenna tiedosto nimellä, esimerkiksi hex_1.com. Kaikki. Ohjelma on valmis. Nyt voit aloittaa sen ja jälleen kerran ihailla luomuksiasi. Tulos on sama kuin kaikissa aiemmissa tapauksissa.

Ja vielä yksi miellyttävä yllätys McAfee FileInsight v2.1 -editorilta - sillä on oma purkuohjelma! Jos lataat suoritettavan tiedoston editoriin ja valitset vasemmasta alakulmasta DISASSEMBLY-välilehden, näet ladatun ohjelman lähdekoodin assembly-kielellä (kuva 1.12).

Miksi ylipäänsä tarvitsemme hex-editoreja ja purkulaitteita? Se on niin vaikeaa. Kyllä, se ei ole helppoa. Hakkerit eivät kuitenkaan ajattele niin. Hex-editorien ja disassemblerien avulla he rikkovat ohjelmia. He löytävät koodista tarvitsemansa paikat ja korjaavat ne hakkereiden oikkujensa mukaisesti.

Emme tietenkään ole hakkereita. Emme katkaise ohjelmia. Disassemblers ja hex-editorit ovat kuitenkin varsin hyödyllisiä lainkuuliaisille ohjelmoijille. Niitä käytetään esimerkiksi virheenkorjaukseen, konekoodien oppimiseen jne. Tiedät esimerkiksi, miltä kokoonpanokielen komento näyttää, mutta haluat tietää sen konekoodin. Jos dokumentaatiota ei ole, on vain yksi ulospääsy - heksadesimaalieditori ja / tai disassembler. On kuitenkin huomattava, että kaikki ohjeet eivät mahdu kahden numeron konekoodiin. Jotkut komennot ovat melko monimutkaisia ​​ja vaativat enemmän numeroita esitettäväksi konekoodeissa.

HEX-editori on ohjelma, joka voi näyttää tietoja sellaisina kuin tietokone "näkee" sen, mutta muuntaa sen heksadesimaalimuotoon. Kun avaat minkä tahansa tiedoston tällaisessa sovelluksessa, käyttäjä näkee matriisin, joka koostuu sarakkeista ja riveistä, joiden lukumäärä riippuu kyseisen tiedoston koosta. Siksi, jos muutat tavujen arvoja editorissa, myös avoimen asiakirjan sisältö muuttuu.

Vähän teoriaa

Kaikki tiedot tallennetaan tietokoneen muistiin konesanojen muodossa, muuten - tavuina. Jokainen sisältää 8 bittiä (binäärinumeroita, jotka saavat arvon joko "0" tai "1"). Matemaattisten laskelmien avulla voit ymmärtää, että yhteen tavuun voidaan kirjoittaa luku alueella 0 - 255. Jos käännät 255 heksadesimaaliluvuksi, se muunnetaan FF:ksi. Toisin sanoen on erittäin kätevää käyttää heksadesimaaliesitystä minkä tahansa konesanan näyttämiseen. Tästä syystä ohjelmaryhmän nimi - heksadesimaalieditori.

Ohjelmien pääelementit

Esitellyn sovellusryhmän rajapinnassa voi yllä kuvatun matriisin lisäksi olla muita keinoja:

  • Rivien numerointi. Sijaitsee yleensä sovelluksen vasemmalla puolella. Näyttää rivin ensimmäisen tavun siirtymän suhteessa tiedoston alkuun.
  • Yläosassa on usein samanlainen numeronauha, joka näyttää tavun siirtymän suhteessa rivin arvon vasemmalle puolelle. Lisäämällä merkkijonojen arvot saat kunkin tavun lukumäärän.
  • Oikeassa ruudussa voidaan näyttää samat tiedot kuin taulukossa, mutta tekstin muodossa (käyttäjä).

McAfee FileInsight

Tämä HEX-editori on täysin ilmainen. Toimii vain Windows-perheen käyttöjärjestelmissä. Tuotteessa on kaikki herrasmiessetti, kuten tiedoston katselu ja muokkaaminen. Lisäksi ohjelmassa on miellyttävä ja käyttäjäystävällinen käyttöliittymä.

Vakiotoiminnot ovat kuitenkin minimi, johon FileInsightia voidaan käyttää. Mikä on maksimi? Meidän on aloitettava kyvystä jäsentää suoritettavien tiedostojen rakenteita. Eikö se riitä? Kaikki valinnat voidaan purkaa lennossa. Yksi napsautus - ja käsittämättömistä numeroista tulee luettava luettelo.

Tämä HEX-editori tarjoaa muun muassa erilaisia ​​koodinkäsittelyalgoritmeja kehittäjien rakentaman suojauksen ohittamiseksi. Ensinnäkin sinun on kiinnitettävä huomiota hämärämenetelmien, kuten add, xor, Base64, shift, dekoodaukseen. Sovelluksen mukana tulevat komentosarjat rikkovat tämäntyyppisen salauksen helposti. Suurin osa toiminnoista voidaan automatisoida kirjoittamalla yksinkertaisia ​​komentosarjoja JS:ssä tai Pythonissa. Joskus ei tarvitse luoda mitään uutta, koska näiden pohja on vaikuttava.

Vaikka FileInsightia pidetään yhtenä parhaista käänteisen suunnittelun työkaluista, ohjelmalla on myös valtava haittapuoli - kyvyttömyys käsitellä yli 400 megatavua tiedostoja.

Hex Editor Neo

Tästä HEX-editorista on kaksi versiota: ilmainen ja edistynyt. Freeware-lisensoitu tuote on korkealaatuinen, mutta huomaamaton. Ominaisuuksista voit erottaa käyttöliittymän ja värimaailman laajat asetukset. Ammattimainen versio tarjoaa enemmän hyödyllisiä ominaisuuksia, jotka ovat erityisen tärkeitä analyysin aikana.

Käyttäjällä on esimerkiksi mahdollisuus purkaa yleisillä algoritmeilla salattuja ohjelmia. Lisäksi on toimintoja, joiden avulla voit muokata paikallisia resursseja (RAM, NTFS-virrat, kiintolevyt). Prosessiautomaatio toteutetaan VBS- ja JS-skripteillä.

Ohjelman tärkein ominaisuus on kuitenkin disassembler, joka voi toimia x64-, x86- ja .NET-tiedostojen kanssa. Toinen ominaisuus, jota kilpailijat eivät tarjoa, on korjaustiedoston luominen kahden suoritettavan binaarin vertailun perusteella. Se on varmasti vaikuttava, mutta FileInsightiin verrattuna Neo häviää silti. NEO pystyy kuitenkin käsittelemään suuria tiedostoja.

Hei

HEX-editorilla Hiew ei ole ilmaista versiota. Kehityksessä on mukana Venäjän tiimi. Tuotteen historia alkaa 16-bittisten DOS- ja Windows 3.1 -sovellusten päivistä. Hiewiä käyttävät usein tietokone- ja tietoturva-ammattilaiset. Syyt ovat selvät: kaikki vaihtoehdot Windowsin suoritettavien binäärien muokkaamiseen ja katseluun sekä käännetyt Linux-ohjelmat (ELF).

Toinen merkittävä käänteissuunnitteluominaisuus on Hiewin sisäänrakennettu purku- ja kokoaja. Lisäksi ne toimivat sekä x86- että x86_64-sovelluksilla, myös prosessoriohjeita tuetaan Editori käsittelee suuria tiedostoja ilman vaikeuksia, mahdollistaa matalien tietojen muuttamisen fyysisille kiintolevyille.

Suuri määrä toimintoja voidaan automatisoida. Tätä varten ohjelmoijat ovat rakentaneet kyvyn luoda komentosarjoja, näppäimistömakroja ja API-toimintoja, joita käytetään kutsumaan sisäisiä proseduureja ulkoisista sovelluksista. Mutta Hiew ei silti päässyt ehdottomaan voittoon heksadesimaalitoimittajien alalla. Sen käyttöliittymä on täysin DOS-tyylinen ja se piirtää ikkunat (tai konsolin, jos puhumme Linux-järjestelmistä).

Hyvää päivää kaikille.

Jostain syystä monet uskovat, että hex-editorien kanssa työskentely on ammattilaisten joukko, eikä aloittelevien käyttäjien tulisi sekaantua niihin. Mutta mielestäni, jos sinulla on ainakin perustaidot työskennellä tietokoneen kanssa ja kuvitella miksi tarvitset hex-editoria, niin miksi ei ?!

Tämän tyyppisen ohjelman avulla voit muuttaa mitä tahansa tiedostoa sen tyypistä riippumatta (monet käsikirjat ja oppaat sisältävät tietoa tietyn tiedoston muuttamisesta hex-editorilla)! Totta, käyttäjällä on oltava vähintään perusymmärrys heksadesimaalijärjestelmästä (heksadesimaalijärjestelmän tiedot ovat edustettuina siinä). Perustiedot siitä kuitenkin annetaan koulun tietojenkäsittelyn tunneilla, ja luultavasti monet ovat kuulleet ja heillä on käsitys siitä (ja siksi en kommentoi sitä tässä artikkelissa). Joten tässä on parhaat hex-editorit aloittelijoille (nöyrällä mielipiteelläni).

1) Ilmainen Hex Editor Neo

Yksi yksinkertaisimmista ja yleisimmistä muokkausohjelmista heksadesimaali-, desimaali- ja binääritiedostoille Windowsille. Ohjelman avulla voit avata minkä tahansa tyyppisiä tiedostoja, tehdä muutoksia (muutoshistoria tallennetaan), on kätevää valita ja muokata tiedostoa, korjata ja analysoida.

On myös syytä huomata erittäin hyvä suorituskyky yhdistettynä koneen alhaisiin järjestelmävaatimuksiin (esimerkiksi ohjelman avulla voit avata ja muokata melko suuria tiedostoja, kun taas muut editorit yksinkertaisesti jäätyvät ja kieltäytyvät toimimasta).

Ohjelma tukee muun muassa venäjän kieltä, sillä on hyvin harkittu ja intuitiivinen käyttöliittymä. Jopa aloitteleva käyttäjä voi selvittää sen ja aloittaa työskentelyn apuohjelman kanssa. Yleisesti ottaen suosittelen sitä kaikille, jotka aloittavat tutustumisen hex-editoreihin.

2) WinHex

Tämä editori on valitettavasti shareware, mutta se on yksi monipuolisimmista, tukee useita erilaisia ​​vaihtoehtoja ja ominaisuuksia (joista joitain on vaikea löytää kilpailijoilta).

Levynmuokkaustilassa sen avulla voit työskennellä seuraavien kanssa: HDD, levykkeet, flash-asemat, DVD, ZIP-levyt jne. Tukee tiedostojärjestelmiä: NTFS, FAT16, FAT32, CDFS.

En voi olla mainitsematta käteviä analyysityökaluja: pääikkunan lisäksi voit yhdistää muita erilaisilla laskimilla, työkaluilla tiedostorakenteen etsimiseen ja analysointiin. Yleensä se sopii sekä aloittelijoille että kokeneille käyttäjille. Ohjelma tukee venäjän ( valitse seuraava valikko: Ohje / Asetukset / Venäjä ).

WinHexin yleisimpien toimintojensa (jotka tukevat samanlaisia ​​ohjelmia) lisäksi voit "kloonata" levyjä ja poistaa niistä tietoja, jotta kukaan ei koskaan pysty palauttamaan niitä!

3) HxD Hex Editor

Ilmainen ja melko tehokas binäärieditori. Tukee kaikkia tärkeimpiä koodauksia (ANSI, DOS / IBM-ASCII ja EBCDIC), melkein minkä tahansa kokoisia tiedostoja (muuten, editori sallii tiedostojen lisäksi muokata RAM-muistia, kirjoittaa muutoksia suoraan kiintolevylle!).

On myös mahdollista huomata hyvin harkittu käyttöliittymä, kätevä ja yksinkertainen toiminto tietojen etsimiseen ja korvaamiseen, vaiheittainen ja monitasoinen varmuuskopiointi- ja palautusjärjestelmä.

Käynnistyksen jälkeen ohjelma koostuu kahdesta ikkunasta: vasemmalla on heksadesimaalikoodi ja oikealla tekstin käännös ja tiedoston sisältö.

Miinuksista nostaisin esiin venäjän kielen puuttumisen. Monet toiminnot ovat kuitenkin ymmärrettäviä myös niille, jotka eivät ole koskaan opiskelleet englantia ...

4) HexCmp

HexCmp - tämä pieni apuohjelma yhdistää 2 ohjelmaa kerralla: ensimmäinen antaa sinun verrata binääritiedostoja keskenään ja toinen on hex-editori. Tämä on erittäin arvokas vaihtoehto, kun haluat löytää eroja eri tiedostoista, se auttaa tutkimaan mitä erilaisimpien tiedostotyyppien erilaisia ​​rakenteita.

Muuten, vertailun jälkeen paikat voidaan varjostaa eri väreillä riippuen siitä, missä kaikki täsmää ja missä tiedot ovat erilaisia. Vertailu tehdään lennossa ja erittäin nopeasti. Ohjelma tukee jopa 4 Gt:n kokoisia tiedostoja (riittävästi useimpiin tehtäviin).

Tavallisen vertailun lisäksi voit tehdä vertailun tekstiversiossa (tai jopa molemmissa kerralla!). Ohjelma on tarpeeksi joustava, voit mukauttaa värimaailmaa, määrittää pikanäppäimiä. Jos määrität ohjelman oikein, voit työskennellä sen kanssa ilman hiirtä! Yleisesti ottaen suosittelen sitä kaikille aloitteleville hex-editorien ja tiedostorakenteiden "tarkistajille".

Samanlaisia ​​julkaisuja