Tuleohutuse entsüklopeedia

Binaarfailide redaktor vene keeles. Kuueteistkümnendsüsteemi redaktor

Nüüd tuleb palju materjali teemal, millest andmed koosnevad ja kuidas neid toimetada saab. Paljud teavad, et iga arvutis olev fail (pilt, tekst või multimeedia) on kahendkood – nullid ja ühed. Selliste failide redigeerimiseks kasutage HEX-i toimetajad- rakendus, mis redigeerib baidikoodist koosnevaid andmeid. Redaktoris olevad baidid on esitatud kuueteistkümnendsüsteemis.

Faililaiend

Probleem seisneb failitüüpide tohutus arvus ja esialgu pole selge, kuidas operatsioonisüsteem teksti-, multimeediumi- või arhiveeritud ja muud tüüpi andmeid määrab. Nagu teate, toimub faili määratlemine süsteemi poolt nime järele lisatud laiendi abil, näiteks ".exe", ".txt" ja teised.

OS-i sätted on paindlikud, mis tähendab, et suvalise faili laiendi saab kustutada, kuid siis ei saa operatsioonisüsteem seda avada, ta ei saa aru, millise programmiga seda käivitada. Sel juhul objekti loogiline struktuur ei muutu. Pildil on tekstifail ja selle kõrval on sama, kuid ilma laiendita ja selle ikoon on valge.

Kui laiendita objekt jääb samaks failiks loogilise sümbolite komplektiga, siis laiend ei määra selle tüüpi, aga mis siis? On olemas selline asi nagu vormingus- see määrab tüübi, see on ka andmestruktuuri spetsifikatsioon. Laienemine on täiesti erinev mõiste. Aga mis siis, kui kasutaja avastas algselt laiendita faili, kuid see tuleb kiiresti avada ja mis on teadmata?

Kirjeldajad

Kõik failid võib laias laastus jagada kaheks komponendiks – päis, mis sisaldab objekti identifitseerimisandmeid, erinevaid metaandmeid. Teine komponent on objekti "keha", mille abil määratakse objekti tüüp ja päise osa, millel on deskriptori nimi. Kaks populaarset deskriptorit on - ASCII ja HEX... Teist varianti analüüsitakse alguses mainitud toimetajate abiga.

Esimene ASCII meetod on määratletud tekstiredaktoriga, näiteks Notepad ++, kuid tasub arvestada ühe punktiga - mõnda baitide komplekti ei saa teisendada ASCII-vormingusse, mis tähendab, et on soovitatav kasutada HEX-redaktoreid. Pärast seda utiliidi kasutades mis tahes faili käivitamist kuvatakse aknas baitide jadaga maatriksi vaade, kus ühes lahtris on üks bait. Deskriptoriteave leidub tavaliselt kolmes esimeses lahtris, harva rohkemas. Rakke loendatakse horisontaalselt. Lahtrites kuvatavad andmed on esitatud kuueteistkümnendsüsteemis.

Deskriptori dekrüpteerimine

Et mõista, mis tüüpi andmed seal on, peate koodi dekrüpteerima. Selleks vajate spetsiaalset teenust, mis määrab failivormingud, näiteks open-file.ru. Kuid on ka muid ressursse, mida on Internetist lihtne leida. Pärast faili saidile üleslaadimist analüüsitakse andmeid ja seejärel kuvatakse tulemus. Allpool kuvatakse tabel faili tüübi, vormingu ja kirjeldusega.

Mida me eespool arutasime, on HEX-redaktorite kasutamine. Nüüd tegeleme ASCII koodiga. Seda koodi saab analüüsida sama open-file.ru abil. Ehk siis ressursil kontrollitakse mõlemat koodi ja sisuliselt pole vaja midagi sisestada.

Mõnikord pole vormingut lihtne määratleda. See kehtib ASCII päiste kohta. Fakt on see, et paar esimest tähemärki võivad olla seotud faililaienditega ja võib-olla mitme vorminguga.

Muidugi on olemas viis vormingu määratlemiseks. Analüüsiks kasutatakse mitut rida, mitte ainult ühte. Seejärel näitavad mõned seal asuvad elemendid igal juhul objekti tüüpi.

Mida muud saate HEX-redaktoriga teha

Lisaks sellele, et HEX-redaktorid aitavad mis tahes faile analüüsida, on võimalik:

  1. töötada kettakujutistega;
  2. redigeerida jaotisi;
  3. muutke RAM-i sisu;
  4. muuta protsessi virtuaalset aadressiruumi ja muud.

Näiteks kasutatakse seda tüüpi utiliite tarkvaraarenduses. Kui peate pärast programmi koostamist andmeid sisestama, kuid te ei soovi seda uuesti kompileerida. Iga programmi koodi saab muuta HEX-redaktoriga. Muidugi pead sa oskama seda teha, leidma vajalikud andmed. Seega püüavad nad koodis vigu parandada või kasutada neid häkkimiseks ja petmiseks. See tähendab, et HEX-redaktorite kasutusala on väga lai.

Milliseid HEX-redaktoreid kasutada

Andmete redigeerimiseks on palju programme ja need on toodud allpool:

Populaarne Windowsi utiliit. Sellega ei saa kasutaja ühtegi tüüpi faili avada ja seda muuta. Kui midagi on valesti muudetud, on utiliidil muudatusi tehtud ja saate alati naasta algsesse olekusse.

Tööriist töötab väga kiiresti, kuigi see ei kaalu palju, ja on ise võimeline töötama suurte failidega. Liides on lihtne ja sobib algajatele, seal on vene keel.

Seda redaktorit saab mõnda aega kasutada demoversioonis ja seejärel peate selle ostma. Tööriist on universaalne, kus on palju huvitavaid võimalusi.

Võimalik on töötada mitte ainult failidega, vaid ka kõvaketaste, välkmäluseadmete, optiliste ketaste ja isegi diskettidega. Kõik Windowsi failisüsteemid on toetatud. Toetab sektsioonide kloonimise ja andmete täielikku kustutamist ilma taastamise võimaluseta

Kui olete algaja, siis piisab teile sellest programmist, eriti jaotises Abi on võimalus lülituda venekeelsele liidesele.

See utiliit on kaks ühes, kuna sellel on failide võrdlusfunktsioon ja sisseehitatud HEX-redaktor. Mõnikord peate võib-olla neid faile võrdlema, et teha kindlaks erinevused ja sarnasused ning analüüsida erineva vorminguga objektide struktuuri.

Kui kaks faili erinevad, värvitakse maatriksi alad teatud värviga ja võrdlus ise toimub mõne sekundiga. Tõsi, analüüsimiseks sobivad failid, mille maht ei ületa 4 GB.

Utiliidil endal on võimalus liidest muuta. Mis tähendab, et kasutaja saab seda enda jaoks kohandada. Töö läheb kiiremini.

Seda asja tarnitakse tasuta, kuid see on võimeline töötama mis tahes vormingu ja kodeeringuga suurte andmetega. Võimalik vahetada RAM-i ja kõvaketast.

Programm ühendab kuueteistkümnendsüsteemi ja ASCII tekstiväljundi. Ingliskeelse liidese liides on üsna lihtne, nii et sellega töötamine pole keeruline, eriti kui olete juba sellistes toimetajates töötanud.

Kui fail ei avane ühes redaktoris, avaneb see selles. Seetõttu olen siin esitanud mitme utiliiti loendi. Määratud tööriist vastutab binaarfailide avamise eest. Seadeid on palju ja süsteeminõuded on saadaval iga arvuti jaoks.

Selles redaktoris töötamine on sama lihtne kui Wordis printimine. Seal on võimalused failide, nende kontrollsummade võrdlemiseks ja analüüsi eksportimiseks erinevatesse vormingutesse, näiteks html.

Kui teil on vaja tõlkida üks kood teise numbrisüsteemi, on Hex Workshopis olemas konverter. Programm on jagamisvara, mida võib pidada üheks puuduseks.

Nüüd olete õppinud, mis on HEX-redaktorid ja miks neid kasutatakse. Edaspidi püüan kirjutada artikleid nendega töötamise kohta, näiteks kui on vaja faili redigeerida.

Pärast tsükli lõppu artikliga "Parimad pentesteri tööriistad" laekus toimetusse palju kirju palvega teha valik kuusetoimetajatest. Loomulikult ei paku huvi binaarandmete redigeerimise võimalus, vaid lisafunktsioonid, nagu andmestruktuuride automaatne tuvastamine ja koodide lahtivõtmine. Ülevaate tegemiseks saime teada inimeste arvamusi, kes peavad selliste tööriistadega kõige sagedamini nokitsema – viirusanalüütikud. Ja seda nad meile rääkisid.

Iga hex-redaktor võimaldab teil faili madalal tasemel uurida ja muuta, töötades bittide ja baitidega. Faili sisu esitatakse kuueteistkümnendsüsteemis. See on põhifunktsioon. Kuid mõned toimetajad pakuvad kasutajatele palju enamat, võimaldades neil tegelikult aru saada, mis on faili avamisel kuvatavas arusaamatus märgikomplektis. Selleks ekstraheeritakse automaatselt ASCII ja Unicode'i stringid, otsitakse teadaolevaid mustreid, tuvastatakse põhilised andmestruktuurid ja palju muud. Kuueteistkümnendsüsteemi redaktoreid on üsna palju, kuid kui otsustasime neid pahavara näidiste uurimise kontekstis käsitleda, on lihtne neist mõnda esile tõsta. Vaid vähesed on tegelikult kasulikud pahatahtliku koodi analüüsimiseks ja nakatunud dokumentide (näiteks PDF-i) uurimiseks.

McAfee FileInsight

FileInsight on McAfee Labsi tasuta hex-redaktor Windowsi jaoks. Toode täidab loomulikult kõiki sellise tarkvaraga seotud standardseid funktsioone, pakkudes mugavat liidest failide vaatamiseks ja redigeerimiseks kuueteistkümnendsüsteemis ja tekstirežiimis. Kuid see on vaid piisk meres, kui vaadata kogu selle funktsionaalsust. Alustuseks suudab FileInsight sõeluda Windowsi käivitatavate kahendfailide (PE-failide) struktuuri ja ka Microsoft Office'i OLE-objekte. Lisaks pakutakse kasutajale sisseehitatud x86 lahtimonteerijat. Piisab, kui valida faili osa, mida soovite lugeda loetava koodina, ja FileInsight näitab seda fragmenti montaažijuhiste loendina. Disassembler on eriti kasulik pahatahtlikes failides shellkoodi otsimisel. Muud võimalused, mis ümberpöörajatele meeldivad, on struktuurideklaratsioonide importimise võimalus. Selleks peab programm lihtsalt määrama päisefaili selliste deklaratsioonidega:

struct ANIHeader (
DWORD cbSizeOf; // AniHeaderis baitide arv
DWORD cFrames; // Unikaalsete ikoonide arv
DWORD cSteps; // Blittide arv
};

Sel juhul analüüsib programm selliseid konstruktsioone ise. Vaikimisi pakutakse aga palju intuitiivseid kooditöötluse algoritme. Esiteks räägime paljude ähmastamismeetodite dekodeerimisest (xor, add, shift, Base64 jne) - inline skriptid klõpsavad sellist krüptograafilist kaitset üks või kaks korda. Siinkohal tuleb märkida, et uurimisobjekt ei pea olema binaar, see võib olla ka tavaline kahtlust äratav veebileht. Programm võimaldab automatiseerida paljusid toiminguid kasutades lihtsaid skripte JavaScriptis või mooduleid Pythonis, millest paljud on juba kirjutatud. Kahjuks on FileInsightil kõigi eeliste kõrval ka tõsine puudus, mis väljendub suutmatuses töödelda suuri faile. Näiteks kui proovite utiliidile anda 400–500 MB suurust faili, kuvatakse tõrge "Dokumendi avamine ebaõnnestus".

Hex toimetaja Neo

HDD tarkvarast on sellel kuueteistkümnendsüsteemi redaktoril kaks versiooni – lihtne tasuta versioon ja täiustatud kommertsversioon. Vabavara versioon on kindel, kuid märkamatu HEX-redaktor, millel on lahe kohandatav liides, mis toetab erinevaid värviskeeme. Mitte rohkem. Kuid Hex Editor Neo professionaalne versioon pakub mitmeid kasulikke valikuid, mis võivad olla kahendfailide analüüsimisel äärmiselt kasulikud. Näiteks saab kasutaja enamlevinud algoritmide abil krüpteeritud koodi dekodeerida. Lisaks on võimalik vaadata ja redigeerida kohalikke ressursse, nagu NTFS-i vooge, kohalikke kettaid, protsessimälu ja RAM-i. Kõige täielikumas versioonis on tugi ka skriptikeelele, mis võimaldab automatiseerida paljusid protsesse VBScripti ja JavaScripti skriptide abil. Kuid parim osa on see, et teie teenistuses on sisseehitatud lahtimonteerija, mis töötab x86, x64 ja .NET binaarfailidega! Teine funktsioon on plaastrite kiire loomine kahe binaarfaili võrdluse põhjal. Kõlab muljetavaldavalt, kuid kas see on parem kui FileInsight? Ilmselt mitte. FileInsight tundub üldiselt funktsionaalsem. Teisest küljest töötab iga Hex Editor Neo tasuta versioon suurepäraselt isegi väga suurte failidega ja võimaldab otsida ASCII- ja Unicode-stringe. Siinne lahtimonteerija ei piirdu ainult ühe x86 platvormiga ja sisseehitatud ressursiredaktor on väga mugav. On, mille üle mõelda.

FlexHex

FlexHex on Heaventools Software'i võimas kaubanduslik hex-redaktor, mis sisaldab paljusid Hex Editor Neo funktsioone. Ainus, mis siin puudu on, on ehk skriptimise tugi. Kuid see täisfunktsionaalne redaktor saab võrdselt hästi hakkama kahendfailide, OLE-failide, füüsiliste ketaste ja alternatiivsete NTFS-voogudega. Viimane on eriti oluline, sest FlexHex võimaldab teil redigeerida andmeid, mida teised toimetajad ei pruugi isegi näha. Lisaks on kohe tunda keskendumist suure teabehulgaga töötamisele: olenemata faili suurusest, navigeerimine toimub sellel ilma viivituste ja piduriteta. Veelgi suurema mugavuse huvides töötab mugavate järjehoidjate süsteem. Samal ajal hoiab FlexHex pidevalt kõigi toimingute ajalugu – mis tahes toimingu saate tagasi võtta, valides selle lihtsalt muudatuste loendist (tagasivõtmise loend ei ole piiratud)! FlexHex toetab kõiki vajalikke toiminguid binaarandmetega, otsides ASCII ja Unicode'i stringe. Kui on vaja eelnevalt kindlaksmääratud vormingus struktuuri töödelda, pole selle parameetrite määramine spetsiaalsete tööriistade abil keeruline. Selle tulemusena saame suurepärase hex-redaktori, kuid siiski palju halvem kui sama FileInsight. Ainus tähelepanuväärne võimalus on OLE-failide töötlemine, kuid ka siin on probleeme. Nakatunud OLE avamisel kukkus programm mitu korda kokku veaga "Dokumendifail on rikutud".

010 Toimetaja

010 Editor on tuntud kommertstoode, mille on välja töötanud SweetScape Software. Kui võrrelda seda eelmise kolme tööriistaga, siis see suudab kõike: toetab väga suurte failidega töötamist, pakub lahedaid võimalusi andmetega manipuleerimiseks, võimaldab redigeerida kohalikke ressursse, omab skriptisüsteemi rutiinsete toimingute automatiseerimiseks (üle 140 erinevad funktsioonid teie teenistuses). Ja 010 Editoril on ka keerdkäik, ainulaadne funktsioon. Redaktor teeb seda kõike tänu võimalusele sõeluda erinevaid failivorminguid oma malliteegi (nn Binary Templates) abil. Siin pole tal võrdset. Paljud entusiastid üle maailma töötavad mallide kallal, vasardavad erinevates vormingutes ja andmestruktuurides. Selle tulemusena muutub erinevates failivormingutes navigeerimine läbipaistvaks ja arusaadavaks. See kehtib ka Windowsi binaarfailide (PE-failide), Windowsi otseteefailide (LNK), Zip-arhiivide, Java-klassi failide ja palju muu töötlemise kohta. Paljud inimesed said selle triki ilust aru, kui kuulus turbespetsialist Didier Stevens lõi PDF-failide sõelumise malli 010 redaktori jaoks. Koos teiste utiliitidega lihtsustas see oluliselt nakatunud PDF-dokumentide analüüsi, mis viimase kuue kuu jooksul pole lakanud hämmastamast kohtade arvu poolest, kust lugejat saab kasutada. Lisame siia laheda tööriista binaarfailide võrdlemiseks, C-laadse süntaksiga kalkulaatori, andmete teisendamiseks ASCII, EBCDIC, Unicode'i vormingute vahel ning saame väga atraktiivse unikaalsete funktsioonidega tööriista.

Hei

Hiew ei erine levitamismeetodi poolest palju oma kolleegidest - see on ka kommertstoode, mille töötas välja meie kaasmaalane Jevgeni Suslikov. Pika ajalooga programm on paljude infoturbespetsialistide seas väga populaarne. Sellel on üsna ilmsed põhjused – võimsad võimalused nii Windowsi (PE) kui ka Linuxi binaarfailide (ELF) täitmisfailide struktuuri ja sisu uurimiseks ja redigeerimiseks. Teine väga kasulik funktsioon tagurdamiseks on sisseehitatud x86-64 monteerija ja demonteerija. Viimane toetab isegi ARM-i juhiseid. Ütlematagi selge, et redaktor on suurepärane suurte failide seedimisel ja võimaldab teil redigeerida loogilisi ja füüsilisi draive. Paljusid ülesandeid saab hõlpsasti automatiseerida klaviatuuri makrode, skriptide ja isegi laienduste arendamiseks mõeldud API kaudu (Hiew Extrenal Modules). Kuid enne lahingusse tormamist pidage meeles – Hiew liides on DOS-i sarnane aken, millega on harjumusest üsna ebamugav töötada. Kuid te saate tunda kogu vana kooli võlu.

Radare

Radare on tasuta utiliitide kogumik Unixi platvormile, mis pakuvad lahedaid funktsioone failide redigeerimiseks HEX-režiimis. See sisaldab hex-redaktorit ennast (radare) koos võimalusega avada kohalikke ja kaugfaile. Programm analüüsib erinevas vormingus käivitatavaid faile, nii Linuxi (ELF) kui ka Windowsi (PE). Lisaks redigeerimisele on Radare'il binaarne võrdlustööriist (radiff) ja sisseehitatud monteerija/demonteerija. Ja isiklikult tuli paaril korral kasuks shellkoodide genereerimise tööriist (rasc). Kõiki toiminguid saab skriptimissüsteemi abil hõlpsasti automatiseerida ja kohandada. Miinustest võime jällegi märkida GUI-liidese puudumist - kõik toimingud tehakse käsurealt ja utiliitidega saate täielikult töötada alles pärast dokumentatsiooni lugemist. Teisest küljest on saidil visuaalsed ekraanipildid, mis näitavad nii põhipunkte kui ka väikseid saladusi (nt Pythoni pistikprogrammi ühendamine).

Mida siis valida?

Oleme vaadanud mitmeid võimsaid hex-redaktoreid, mis sisaldavad kasulikke võimalusi kahtlaste failide analüüsimiseks. Kõigist toodetest paistab silma FileInsight, mis kogu oma funktsionaalsuse juures (ja see on tõesti muljetavaldav) jääb tasuta. 010 Editor pakub suurel hulgal malle mitmesuguste failide, sealhulgas PDF-dokumentide käsitlemiseks. See on megafunktsioon, mida ei saa tähelepanuta jätta. Ma kasutan neid kahte redaktorit kogu aeg; analüütiku jaoks sobivad need ehk kõige paremini. Kui rääkida Unixi platvormil töötamisest, siis loomulikult ei tohi unustada Radare’i. Pakett pakub väga võimsaid funktsioone, kuigi seda on keeruline kasutada, kuna see töötab käsurealt. Hiew pole ka väga sõbralik, kuigi selle võimalused võimaldavad loomulikult teha binaarfailidega mitmesuguseid toiminguid. Pealegi on Hiew paljude tõeliste proffide valik ja see on palju väärt (ja tähendab palju). Hex Editor Neo puhul tasub sellega tegeleda, kui huvitab võimalus lahti võtta x86, x64 ja .NET koodi.

MÄRGE
Sellel lehel figuurid ei kuvata, kuid need leiate raamatust.

See, mida me nüüd tegema hakkame, on minu vaatenurgast väga huvitav. See on teie esimene masinkoodiprogramm (ja tõenäoliselt ka ainus))).

Assamblee on madala tasemega keel, kuid see on siiski keel. Kas olete proovinud masinkoodides programmi kirjutada? Proovime nüüd.

Programmi saab kirjutada ilma monteerijate-kompilaatorite ja muude tööriistadeta – kasutades suvalist heks-redaktorit (või heks-redaktorit või heks-redaktorit).

Siiski on programmide sõelumine kuueteistkümnendsüsteemi redaktoris üsna kasulik. Eriti neile, kes hakkavad elektroonikaga tegelema - lõppude lõpuks ei saa mikroprotsessorid aru ei Pascalist ega C ++-st. Kuigi on olemas spetsiaalsed seadmed ja programmid, mida need keeled neile "selgitavad".

Kõigepealt vajate hex-redaktorit. Saate kasutada kõike, mis teie käeulatuses on. Küll aga kasutan eelmainitud McAfee FileInsight v2.1. See hex-redaktor on tasuta allalaaditav. Kõik allpool kirjeldatud toimingud kehtivad selle konkreetse redaktori jaoks.

Niisiis, teil on installitud kuueteistkümnendsüsteemi redaktor. Käivitame selle. Klõpsame nuppu OPEN, leiame ühe enda loodud COM-failidest, näiteks debug_1.com, ja laadime selle redaktorisse.

Kui fail on laaditud, näete redaktoris järgmist (vt ka joonis 1.12):

00000000 B4 02 B2 41 CD 21 CD 20 ... A.!. Saate avada veel kaks meie loodud faili: mycode.com (loodud emu8086-s) või ATEST.COM (mille lõime jaotises). Näete sama asja. See tähendab, et kõik monteerijad genereerivad sama masinkoodi. See tähendab, et programmide tekstide erinevused ei ole põhimõttelised - need on tingitud ainult komplekteerijate endi erinevustest.

MÄRGE
Kui teie puhul näete teistsugust pilti, siis olete kas avanud teise faili või vaatate seda tekstirežiimis. Viimasel juhul klõpsake tööriistaribal nuppu View as Hex (vt joonis 1.12).

Mida need numbrid tähendavad?

Nullidega on kõik selge – see on esimene mälulahter, kuhu on kirjutatud arv B4. See number kirjutatakse seejärel aadressile 0100h (COM-faili jaoks). Rida peaks sisaldama 16 numbrit, millest igaüks koosneb kahest numbrist. Numbrid kirjutatakse kuueteistkümnendsüsteemis. Kuid meie programm on väike - ainult 8 baiti, seega on meil 8 numbrit.

Aga mis täpselt on B4? See on käsk - "Sisestage väärtus registrisse AH". Ja mis väärtuse me sisestame? Õige: 02 (järgmine number real).

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 NS = 0B72 CS = 0B72 NAV2 PL0102:0 NAZ102 IP 000 0000 SI = 0000 DS B241 MOV DL, 41 Vt B241 viimasel real? Tuttav kombinatsioon? See on MOV DL käsukood 41.

Jääb üle tegeleda salapäraste tegelastega rea ​​lõpus. Kuid siin on kõik lihtne: numbri iga number vastab ASCII-tabeli märgikoodile ja need märgid kuvatakse samas järjestuses kui kuueteistkümnendsüsteemi numbrid. Selles tekstis on mõned märgid asendatud punktidega (.) – need on lihtsalt mittetähestikuliste märkide koodid.

Noh, nüüd kirjutame ja loome oma hästi uuritud programmi ilma monteerijate ja linkijateta. Avage redaktor, looge uus fail (selleks klõpsake tööriistaribal nuppu UUS), seejärel klõpsake nuppu View as Hex ja sisestage andmed:

00000000 B4 02 B2 41 CD 21 CD 20 Salvestage fail nime all, näiteks hex_1.com. Kõik. Programm on valmis. Nüüd saate sellega alustada ja oma loomingut taas imetleda. Tulemus on sama, mis kõigil eelmistel juhtudel.

Ja veel üks meeldiv üllatus McAfee FileInsight v2.1 redaktorilt – sellel on oma lahtimonteerija! Kui laadite täitmisfaili redaktorisse ja valite alumises vasakus nurgas vahekaardi LAHTI, näete laaditud programmi lähtekoodi assemblerkeeles (joonis 1.12).

Milleks on meil üldse vaja hex-toimetajaid ja lahtimonteerijaid? See on nii raske. Jah, see pole lihtne. Häkkerid aga nii ei arva. Kuueteistkümnendate redigeerijate ja lahtimonteerijate abil rikuvad nad programme. Nad leiavad koodist üles vajalikud kohad ja parandavad need vastavalt oma häkkerite kapriisidele.

Muidugi pole me häkkerid. Me ei riku programme. Seaduskuulekatele programmeerijatele on aga lahtimonteerijad ja hex-redaktorid üsna kasulikud. Neid kasutatakse näiteks silumiseks, masinkoodide õppimiseks jne. Näiteks teate, kuidas komplekteerimiskeele käsk välja näeb, kuid soovite teada selle masinkoodi. Kui dokumentatsiooni pole, on ainult üks väljapääs - kuueteistkümnendsüsteemi redaktor ja / või lahtimonteerija. Tuleb aga märkida, et kõik juhised ei mahu kahe numbri masinkoodi. Mõned käsud on üsna keerulised ja nõuavad rohkemate arvude esitamist masinkoodides.

HEX-redaktor on programm, mis suudab kuvada teavet nii, nagu arvuti seda "näeb", kuid teisendab selle kuueteistkümnendsüsteemiks. Sellises rakenduses mis tahes faili avamisel näeb kasutaja maatriksit, mis koosneb veergudest ja ridadest, mille arv sõltub kõnealuse faili suurusest. Seega, kui muudate redaktoris baitide väärtusi, muutub ka avatud dokumendi sisu.

Natuke teooriat

Kõik andmed salvestatakse arvuti mällu masinsõnade kujul, muidu - baitidena. Igaüks neist sisaldab 8 bitti (binaarnumbrid, mis võtavad väärtuseks "0" või "1"). Matemaatiliste arvutuste abil saate aru, et ühes baidis saab kirjutada arvu vahemikus 0 kuni 255. Kui tõlkida 255 kuueteistkümnendsüsteemiks, teisendatakse see FF-iks. See tähendab, et iga masinasõna kuvamiseks on väga mugav kasutada kuueteistkümnendsüsteemi esitust. Sellest ka programmirühma nimi – kuueteistkümnendsüsteemi redaktor.

Programmide põhielemendid

Lisaks ülalkirjeldatud maatriksile võib esitatud rakenduste rühma liideses olla ka muid vahendeid:

  • Rea nummerdamine. Tavaliselt asub see rakenduse vasakul küljel. Näitab rea esimese baidi nihet faili alguse suhtes.
  • Sageli on ülaosas sarnane numbririba, mis näitab baitide nihet rea väärtusest vasakule. Stringide väärtuste lisamisega saate iga baidi arvu.
  • Parempoolne paan võib kuvada samu andmeid, mis tabelis, kuid teksti kujul (kasutaja).

McAfee FileInsight

See HEX-redaktor on täiesti tasuta. Töötab ainult Windowsi perekonna operatsioonisüsteemides. Tootel on kõik härrasmeeste komplekt, näiteks faili vaatamine ja redigeerimine. Lisaks on programmil meeldiv ja kasutajasõbralik liides.

Kuid standardfunktsioonid on miinimum, mille jaoks FileInsighti saab kasutada. Mis on maksimum? Peame alustama täitmisfailide struktuuride sõelumise võimalusest. Kas sellest ei piisa? Mis tahes valiku saab käigu pealt lahti võtta. Üks klõps – ja arusaamatutest numbritest saab loetav loend.

Muuhulgas pakub see HEX-redaktor mitmesuguseid kooditöötlusalgoritme, et vältida arendajate loodud kaitset. Kõigepealt peate tähelepanu pöörama selliste hägustamismeetodite dekodeerimisele nagu add, xor, Base64, shift. Rakendusega kaasas olevad skriptid katkestavad seda tüüpi krüptimise hõlpsalt. Enamikku toiminguid saab automatiseerida, kirjutades lihtsaid skripte JS-is või Pythonis. Mõnikord pole vaja midagi uut luua, sest nende põhi on muljetavaldav.

Kuigi FileInsighti peetakse üheks parimaks pöördprojekteerimise tööriistaks, on programmil ka üks tohutu puudus – võimetus töödelda üle 400 MB faile.

Hex toimetaja Neo

Sellel HEX-redaktoril on kaks versiooni: tasuta ja täiustatud. Vabavaralitsentsiga toode on kvaliteetne, kuid tähelepanuväärne. Funktsioonidest saate esile tõsta liidese ja värvilahenduste laiad sätted. Professionaalne versioon pakub rohkem kasulikke funktsioone, mis on analüüsi ajal eriti olulised.

Näiteks antakse kasutajale võimalus dekodeerida levinud algoritmidega krüpteeritud programme. Lisaks on funktsioone, mis võimaldavad teil redigeerida kohalikke ressursse (RAM, NTFS-i vood, kõvakettad). Protsesside automatiseerimine on realiseeritud VBS ja JS skriptide abil.

Programmi kõige olulisem omadus on aga disassembler, mis suudab töötada x64, x86 ja .NET failidega. Teine funktsioon, mida konkurendid ei paku, on plaastri loomine, mis põhineb kahe käivitatava kahendfaili võrdlusel. See on kindlasti muljetavaldav, kuid võrreldes FileInsightiga kaotab Neo ikkagi. NEO saab aga hakkama suurte failidega.

Hei

HEX-i redaktoril Hiew pole tasuta versiooni. Arendusega tegeleb meeskond Venemaalt. Toote ajalugu algab DOS-i ja Windows 3.1 jaoks mõeldud 16-bitiste rakenduste päevilt. Hiew'd kasutavad sageli arvuti- ja infoturbe spetsialistid. Põhjused on selged: kõik võimalused Windowsi käivitatavate kahendfailide redigeerimiseks ja vaatamiseks, samuti kompileeritud Linuxi programmid (ELF).

Veel üks tähelepanuväärne pöördprojekteerimise funktsioon on Hiewi sisseehitatud lahtimonteerija ja monteerija. Veelgi enam, need töötavad nii x86 kui ka x86_64-rakendustega, toetatud on ka protsessori juhised.Redaktor saab suurte failidega hakkama ilma raskusteta, võimaldab teha madala taseme andmemuudatusi füüsilistel HDD-del.

Suurt hulka toiminguid saab automatiseerida. Selleks on programmeerijad sisse ehitanud võimaluse luua skripte, klaviatuuri makrosid ja API funktsioone, mida kasutatakse sisemiste protseduuride kutsumiseks välistest rakendustest. Kuid Hiew ei saavutanud siiski tingimusteta võitu kuueteistkümnendsüsteemi toimetajate valdkonnas. Selle liides on täielikult DOS-stiilis ja see joonistab aknad (või konsooli, kui me räägime Linuxi süsteemidest).

Head päeva kõigile.

Millegipärast usuvad paljud, et hex-toimetajatega töötamine on professionaalide hulk ja algajad kasutajad ei tohiks nendesse sekkuda. Kuid minu arvates, kui teil on arvutiga töötamiseks vähemalt põhioskused ja kujutage ette, miks teil on vaja hex-redaktorit, siis miks mitte ?!

Seda tüüpi programmi abil saate muuta mis tahes faili, olenemata selle tüübist (paljud juhendid ja juhendid sisaldavad teavet konkreetse faili muutmise kohta hex-redaktoriga)! Tõsi, kasutajal peavad olema vähemalt algteadmised kuueteistkümnendsüsteemist (selles on esindatud andmed kuueteistkümnendsüsteemi redaktoris). Algteadmised sellest antakse aga koolis informaatikatundides ja ilmselt on paljud sellest kuulnud ja aimu saanud (seetõttu ma seda siin artiklis ei kommenteeri). Niisiis, siin on parimad hex-redaktorid algajatele (minu tagasihoidlikul arvamusel).

1) Tasuta Hex Editor Neo

Üks lihtsamaid ja levinumaid Windowsi kuueteistkümnend-, kümnend- ja kahendfailide redaktoreid. Programm võimaldab avada mis tahes tüüpi faile, teha muudatusi (salvestatakse muudatuste ajalugu), mugav on faili valida ja redigeerida, siluda ja analüüsida.

Samuti väärib märkimist väga hea jõudluse tase koos masina madalate süsteeminõuetega (näiteks võimaldab programm avada ja redigeerida üsna suuri faile, samas kui teised redaktorid lihtsalt külmuvad ja keelduvad töötamast).

Muuhulgas toetab programm vene keelt, omab hästi läbimõeldud ja intuitiivset liidest. Isegi algaja kasutaja saab selle välja mõelda ja utiliidiga töötama hakata. Üldiselt soovitan seda kõigile, kes alustavad oma tutvust hex-toimetajatega.

2) WinHex

See redaktor on kahjuks jagamisvara, kuid see on üks mitmekülgsemaid, toetab paljusid erinevaid võimalusi ja võimalusi (mõnda on konkurentidelt raske leida).

Kettaredaktorrežiimis võimaldab see töötada: HDD, disketid, mälupulgad, DVD, ZIP-kettad jne Toetab failisüsteeme: NTFS, FAT16, FAT32, CDFS.

Ma ei saa mainimata jätta mugavaid analüüsitööriistu: lisaks peaaknale saate ühendada täiendavaid erinevaid kalkulaatoreid, tööriistu failistruktuuri otsimiseks ja analüüsimiseks. Üldiselt sobib see nii algajatele kui ka kogenud kasutajatele. Programm toetab vene keelt ( valige järgmine menüü: Abi / Seadistamine / Vene keel ).

WinHex võimaldab lisaks enamlevinud funktsioonidele (mis toetavad sarnaseid programme) kettaid "kloonida" ja sealt infot kustutada nii, et keegi ei saaks seda kunagi taastada!

3) HxD Hex Editor

Tasuta ja üsna võimas binaarredaktor. Toetab kõiki suuremaid kodeeringuid (ANSI, DOS / IBM-ASCII ja EBCDIC), peaaegu igas suuruses faile (muide, redaktor võimaldab lisaks failidele redigeerida RAM-i, kirjutada muudatusi otse kõvakettale!).

Samuti on võimalik märkida hästi läbimõeldud liidest, mugavat ja lihtsat andmete otsimise ja asendamise funktsiooni, astmelist ja mitmetasandilist varundamise ja tagasipööramise süsteemi.

Pärast käivitamist koosneb programm kahest aknast: vasakul on kuueteistkümnendkood ning paremal tekstitõlge ja faili sisu.

Miinustest tooksin välja vene keele puudumise. Paljud funktsioonid on aga arusaadavad isegi neile, kes pole kunagi inglise keelt õppinud ...

4) HexCmp

HexCmp - see väike utiliit ühendab korraga 2 programmi: esimene võimaldab teil binaarfaile omavahel võrrelda ja teine ​​on hex-redaktor. See on väga väärtuslik valik, kui peate leidma erinevusi erinevates failides, see aitab uurida kõige erinevamate failide tüüpide erinevaid struktuure.

Muide, kohti pärast võrdlust saab varjutada erinevate värvidega, olenevalt sellest, kus kõik klapib ja kus on andmed erinevad. Võrdlus tehakse käigu pealt ja väga kiiresti. Programm toetab kuni 4 GB suuruseid faile (enamiku ülesannete jaoks täiesti piisav).

Lisaks tavapärasele võrdlusele saate teha võrdluse tekstiversioonis (või isegi mõlemas korraga!). Programm on piisavalt paindlik, võimaldab kohandada värviskeemi, määrata otsetee nuppe. Kui programmi õigesti seadistate, saate sellega töötada ilma hiireta! Üldiselt soovitan seda kõigile algajatele hex-redaktorite ja failistruktuuride "kontrollijatele".

Sarnased väljaanded