Encyclopedia ya Usalama wa Moto

Mhariri wa faili ya binary katika Kirusi. Mhariri wa hexadecimal

Sasa kutakuwa na nyenzo nyingi juu ya mada ya data inayojumuisha na jinsi inaweza kuhaririwa. Watu wengi wanajua kwamba faili yoyote kwenye kompyuta (picha, maandishi au multimedia) ni msimbo wa binary - zero na wale. Ili kuhariri faili kama hizo, tumia Wahariri wa HEX- programu ambayo huhariri data inayojumuisha msimbo wa byte. Baiti katika kihariri zinawakilishwa katika nukuu ya hexadecimal.

Ugani wa faili

Tatizo liko katika idadi kubwa ya aina za faili na mara ya kwanza haijulikani jinsi mfumo wa uendeshaji huamua maandishi, multimedia au kumbukumbu na aina nyingine za data. Kama unavyojua, ufafanuzi wa faili na mfumo unafanywa kwa kutumia kiendelezi kilichoongezwa baada ya jina, kwa mfano, ".exe", ".txt" na wengine.

Mipangilio katika OS ni rahisi, ambayo ina maana kwamba ugani wa faili yoyote inaweza kufutwa, lakini basi mfumo wa uendeshaji hauwezi kuifungua, hautaelewa na programu gani ya kuanza. Katika kesi hii, muundo wa mantiki wa kitu hautabadilika. Picha inaonyesha faili ya maandishi, na karibu nayo ni sawa, lakini bila ugani na icon yake ni nyeupe.

Ikiwa kitu bila ugani kinabaki faili sawa na seti ya mantiki ya alama, basi ugani hauamua aina yake, lakini basi nini? Kuna kitu kama umbizo- hii inafafanua aina, pia ni maelezo ya muundo wa data. Upanuzi ni neno tofauti kabisa. Lakini vipi ikiwa mtumiaji hapo awali alipata faili bila ugani, lakini inahitaji kufunguliwa kwa haraka, na ni nini haijulikani?

Wafafanuzi

Faili zote zinaweza kugawanywa katika vipengele viwili - kichwa, ambacho kina data ya kitambulisho cha kitu, metadata mbalimbali. Sehemu ya pili ni "mwili" wa kitu, ambayo hutumiwa kuamua aina ya kitu na sehemu ya kichwa ambayo ina jina la kielezi. Wafafanuzi wawili maarufu ni - ASCII na HEX... Chaguo la pili linachambuliwa kwa msaada wa wahariri waliotajwa mwanzoni.

Njia ya kwanza ya ASCII inafafanuliwa kwa kutumia mhariri wa maandishi, kwa mfano, Notepad ++, hata hivyo, ni muhimu kuzingatia hatua moja - baadhi ya seti za byte haziwezi kubadilishwa kwa muundo wa ASCII, ambayo ina maana kwamba inashauriwa kutumia wahariri wa HEX. Baada ya kuzindua faili yoyote kwa kutumia matumizi kama haya, dirisha litaonyesha mtazamo wa matrix na mlolongo wa byte, ambapo byte moja iko kwenye moja ya seli. Maelezo ya kifafanuzi kawaida hupatikana katika seli 3 za kwanza, mara chache zaidi. Seli huhesabiwa kwa usawa. Data inayoonyeshwa kwenye seli inawakilishwa katika msimbo wa hexadecimal.

Usimbuaji wa kifafanuzi

Ili kuelewa ni aina gani ya data iliyopo, unahitaji kusimbua msimbo. Ili kufanya hivyo, unahitaji huduma maalum ambayo huamua fomati za faili, kwa mfano, open-file.ru. Lakini kuna rasilimali nyingine ambazo ni rahisi kupata kwenye mtandao. Baada ya kupakia faili kwenye tovuti, data itachambuliwa, na kisha matokeo yataonyeshwa. Jedwali lenye aina, umbizo na maelezo ya faili litaonekana hapa chini.

Tulichojadili hapo juu ni matumizi ya wahariri wa HEX. Sasa hebu tushughulike na msimbo wa ASCII. Nambari hii inaweza kuchambuliwa kwa kutumia open-file.ru sawa. Kwa maneno mengine, nambari zote mbili huangaliwa kwenye rasilimali na kimsingi hakuna kinachohitaji kuingizwa.

Wakati mwingine umbizo si rahisi kufafanua. Hii inatumika kwa vichwa vya ASCII. Ukweli ni kwamba wahusika wachache wa kwanza wanaweza kuhusishwa na upanuzi wa faili, na labda kwa muundo kadhaa.

Bila shaka, kuna njia ya kufafanua muundo. Mistari mingi itatumika kwa uchanganuzi, sio moja tu. Kisha baadhi ya vipengele vilivyopo, kwa njia yoyote, vitaonyesha aina ya kitu.

Nini kingine unaweza kufanya na mhariri wa HEX

Kando na ukweli kwamba wahariri wa HEX husaidia kuchambua faili yoyote, inawezekana:

  1. kazi na picha za disk;
  2. hariri sehemu;
  3. kubadilisha yaliyomo kwenye RAM;
  4. badilisha nafasi ya anwani pepe ya mchakato na vitu.

Kwa mfano, huduma za aina hii hutumiwa katika maendeleo ya programu. Wakati unahitaji kuingiza data baada ya kuandaa programu, lakini hutaki kuikusanya tena. Nambari yoyote ya programu inaweza kubadilishwa kwa kutumia mhariri wa HEX. Bila shaka, unahitaji kuwa na uwezo wa kufanya hivyo, kupata data unayohitaji. Kwa hivyo, wanatafuta kusahihisha makosa katika nambari, au kuzitumia kwa utapeli na kudanganya. Hii ina maana kwamba matumizi ya wahariri wa HEX ni pana sana.

Ni wahariri gani wa HEX wa kutumia

Kuna programu nyingi za kuhariri data, na zinawasilishwa hapa chini:

Huduma maarufu kwa Windows. Pamoja nayo, mtumiaji hataweza kufungua aina yoyote ya faili na kuibadilisha. Ikiwa kitu kimehaririwa vibaya, matumizi yana historia ya mabadiliko na unaweza kurudi katika hali yake ya asili kila wakati.

Chombo hufanya kazi haraka sana, wakati haina uzito sana, na yenyewe ina uwezo wa kufanya kazi na faili kubwa. Interface ni rahisi na inafaa kwa Kompyuta, kuna lugha ya Kirusi.

Mhariri huu unaweza kutumika katika toleo la onyesho kwa muda, na kisha unahitaji kuinunua. Chombo hicho ni cha ulimwengu wote, ambapo chaguzi nyingi za kuvutia zinapatikana.

Inawezekana kufanya kazi sio tu na faili, bali pia na anatoa ngumu, vyombo vya habari vya flash, disks za macho na hata diski za floppy. Mifumo yote ya faili ya Windows inasaidiwa. Inasaidia kazi za cloning partitions na kufuta kabisa data bila uwezekano wa kurejesha

Ikiwa wewe ni mwanzilishi, basi mpango huu ni wa kutosha kwako, hasa katika sehemu ya Usaidizi kuna chaguo la kubadili interface ya lugha ya Kirusi.

Huduma hii ni 2 kwa 1, kwa kuwa ina kazi ya kulinganisha faili na mhariri wa HEX uliojengwa. Wakati mwingine unaweza kuhitaji kulinganisha faili hizi ili kuamua tofauti na kufanana, na kuchambua muundo wa vitu vya muundo tofauti.

Ikiwa faili mbili zinatofautiana, maeneo kwenye tumbo yatakuwa na rangi ya rangi fulani, na kulinganisha yenyewe hufanyika katika suala la sekunde. Kweli, faili zisizo zaidi ya 4 GB zinafaa kwa uchambuzi.

Huduma yenyewe ina uwezo wa kubadilisha interface. Ambayo ina maana, mtumiaji anaweza kubinafsisha kwa ajili yake mwenyewe. Kazi itaenda kwa kasi zaidi.

Jambo hili hutolewa bila malipo, lakini lina uwezo wa kufanya kazi na data kubwa ya muundo wowote na encoding. Inawezekana kubadilisha RAM na diski ngumu.

Programu inachanganya pato la maandishi ya hexadecimal na ASCII. Sura ya interface ya lugha ya Kiingereza ni rahisi sana, kwa hivyo haitakuwa ngumu kufanya kazi nayo, haswa ikiwa tayari umefanya kazi katika wahariri kama hao.

Ikiwa faili haifungui katika mhariri mmoja, basi itafungua katika hii. Kwa hivyo, nimetoa hapa orodha ya huduma kadhaa. Zana iliyobainishwa inawajibika kwa kufungua jozi. Kuna mipangilio mingi, na mahitaji ya mfumo yanapatikana kwa kompyuta yoyote.

Kufanya kazi katika kihariri hiki ni rahisi kama uchapishaji katika Neno. Kuna chaguzi za kulinganisha faili, hundi zao na kusafirisha nje uchambuzi kwa miundo mbalimbali, kwa mfano, html.

Ikiwa unahitaji kutafsiri msimbo mmoja kwenye mfumo mwingine wa nambari, basi kuna kibadilishaji katika Warsha ya Hex. Mpango huo ni shareware, ambayo inaweza kuchukuliwa kuwa moja ya vikwazo.

Sasa umejifunza wahariri wa HEX ni nini na kwa nini wanatumiwa. Katika siku zijazo nitajaribu kuandika makala juu ya kufanya kazi nao, kwa mfano, wakati ni muhimu kuhariri faili.

Baada ya mwisho wa mzunguko na makala "Zana bora za pentester", ofisi ya wahariri ilipokea barua nyingi na ombi la kufanya uteuzi wa wahariri wa hex. Nia, bila shaka, si uwezo wa kuhariri data binary, lakini vipengele vya ziada kama vile utambuzi wa kiotomatiki wa miundo ya data na utenganishaji wa msimbo. Ili kufanya hakiki, tuligundua maoni ya watu ambao mara nyingi hulazimika kutumia zana kama hizo - wachambuzi wa virusi. Na ndivyo walivyotuambia.

Mhariri wowote wa hex hukuruhusu kuchunguza na kurekebisha faili kwa kiwango cha chini, kinachofanya kazi na bits na ka. Yaliyomo kwenye faili yanawasilishwa kwa fomu ya hexadecimal. Huu ni utendaji wa msingi. Walakini, wahariri wengine huwapa watumiaji zaidi, huwaruhusu kujua, kwa kweli, ni nini katika seti hiyo isiyoeleweka ya wahusika ambayo inaonekana wakati wa kufungua faili. Ili kufanya hivyo, kamba za ASCII na Unicode hutolewa moja kwa moja, mifumo inayojulikana hutafutwa, miundo ya msingi ya data inatambuliwa, na mengi zaidi. Kuna wahariri wachache wa heksadesimali, lakini ikiwa tuliamua kuwazingatia katika muktadha wa kukagua sampuli za programu hasidi, basi ni rahisi kuangazia baadhi yao. Ni chache tu ambazo zinafaa kwa kuchambua nambari mbaya na kukagua hati zilizoambukizwa (sema, PDF).

McAfee FileInsight

FileInsight ni kihariri cha hex cha bure cha Windows kutoka kwa Maabara ya McAfee. Bidhaa, bila shaka, hufanya utendaji wote wa kawaida unaohusishwa na programu hiyo, ikitoa kiolesura rahisi cha kutazama na kuhariri faili katika njia za hexadecimal na maandishi. Lakini hii ni tone tu katika bahari, ikiwa unatazama utendaji wake wote. Kuanza, FileInsight ina uwezo wa kuchanganua muundo wa jozi zinazoweza kutekelezwa za Windows (faili za PE), na vile vile vitu vya Microsoft Office OLE. Kwa kuongeza, mtumiaji anapewa disassembler iliyojengwa ndani ya x86. Inatosha kuchagua sehemu ya faili unayotaka kuona kama msimbo unaoweza kusomeka, na FileInsight itaonyesha kipande hiki kama orodha ya maagizo ya kusanyiko. Kitenganisha ni muhimu sana wakati wa kutafuta msimbo wa ganda kwenye faili hasidi. Chaguzi zingine ambazo watu waliogeuza nyuma watapenda ni uwezo wa kuagiza matamko ya muundo. Ili kufanya hivyo, programu inahitaji tu kutaja faili ya kichwa na matamko kama:

tengeneza ANIHeader (
DWORD cbSizeOf; // Idadi ya ka katika AniHeader
DWORD cFrames; // Idadi ya Icons za kipekee
DWORD cHatua; // Idadi ya Blits
};

Katika kesi hii, programu itachanganua ujenzi kama huo peke yake. Walakini, algorithms nyingi angavu za usindikaji wa nambari hutolewa na chaguo-msingi. Kwanza kabisa, tunazungumza juu ya kusimbua njia nyingi za kuficha (xor, ongeza, shift, Base64, n.k.) - maandishi ya ndani yanabofya ulinzi kama huo wa kriptografia mara moja au mbili. Ikumbukwe hapa kwamba kitu cha utafiti sio lazima kiwe cha binary, inaweza pia kuwa ukurasa wa kawaida wa wavuti unaozua mashaka. Programu inakuwezesha kugeuza vitendo vingi kwa kutumia hati rahisi katika JavaScript au moduli za Python, ambazo nyingi tayari zimeandikwa. Ole, kwa faida zake zote, FileInsight pia ina shida kubwa, ambayo inaonyeshwa kwa kutoweza kusindika faili kubwa. Kwa mfano, ukijaribu kulisha shirika faili ya 400-500 MB kwa ukubwa, hitilafu "Imeshindwa kufungua hati" inachukua.

Hex Mhariri Neo

Kuna matoleo mawili ya mhariri huu wa hexadecimal kutoka kwa Programu ya HDD - toleo rahisi la bure na toleo la juu la kibiashara. Toleo la Freeware ni kihariri thabiti lakini kisichostaajabisha cha HEX ambacho kina kiolesura kizuri kinachoweza kugeuzwa kukufaa na usaidizi wa miundo tofauti ya rangi. Hakuna zaidi. Lakini toleo la kitaalamu la Hex Editor Neo hutoa chaguo kadhaa muhimu ambazo zinaweza kuwa muhimu sana wakati wa kuchanganua jozi. Kwa mfano, mtumiaji anaweza kusimbua msimbo uliosimbwa kwa kutumia algoriti za kawaida. Kwa kuongeza, inakuwa rahisi kutazama na kuhariri rasilimali za ndani kama vile mitiririko ya NTFS, diski za ndani, kumbukumbu ya kuchakata, na RAM. Katika toleo kamili zaidi, pia kuna usaidizi wa lugha ya uandishi, ambayo hukuruhusu kubinafsisha michakato mingi kwa kutumia hati katika VBScript na JavaScript. Lakini sehemu nzuri zaidi ni kwamba una kitenganisha kilichojengwa ndani kwenye huduma yako ambacho kinafanya kazi na x86, x64, na .NET binaries! Kipengele kingine ni uumbaji wa haraka wa patches kulingana na kulinganisha kwa binaries mbili. Inaonekana ya kuvutia, lakini ni bora kuliko FileInsight? Pengine si. FileInsight inaonekana kufanya kazi zaidi kwa ujumla. Kwa upande mwingine, toleo lolote, hata la bure la Hex Editor Neo hufanya kazi vizuri hata kwa faili kubwa sana na hukuruhusu kutafuta kamba za ASCII na Unicode. Disassembler hapa sio mdogo kwa jukwaa moja tu la x86, na mhariri wa rasilimali iliyojengwa ni rahisi sana. Kuna kitu cha kufikiria.

FlexHex

FlexHex ni kihariri chenye nguvu cha kibiashara kutoka kwa Programu ya Heaventools inayojumuisha vipengele vingi vinavyopatikana katika Hex Editor Neo. Kitu pekee kinachokosekana hapa ni, labda, usaidizi wa maandishi. Lakini kihariri hiki kilicho na kipengele kamili kinashughulikia jozi, faili za OLE, diski halisi na mitiririko mbadala ya NTFS kwa usawa. Mwisho ni muhimu sana kwa sababu FlexHex hukuruhusu kuhariri data ambayo wahariri wengine wanaweza hata wasione. Kwa kuongeza, lengo la kufanya kazi kwa kiasi kikubwa cha habari huhisiwa mara moja: bila kujali ukubwa wa faili, urambazaji kwa njia hiyo unafanywa bila lags na breki yoyote. Kwa urahisi zaidi, mfumo wa alamisho rahisi hufanya kazi. Wakati huo huo, FlexHex inaendelea kuweka historia ya shughuli zote - unaweza kutendua kitendo chochote kwa kuchagua tu kutoka kwenye orodha ya mabadiliko (orodha ya kutendua sio mdogo)! FlexHex inasaidia shughuli zote muhimu na data ya binary, kutafuta kamba za ASCII na Unicode. Ikiwa ni muhimu kusindika muundo na muundo uliotanguliwa, haitakuwa vigumu kuweka vigezo vyake kwa kutumia zana maalum. Kama matokeo, tunapata mhariri bora wa hex, lakini bado ni duni kwa FileInsight sawa. Chaguo pekee linalojulikana ni usindikaji wa faili za OLE, lakini kuna matatizo hapa pia. Mara kadhaa wakati wa kujaribu kufungua OLE iliyoambukizwa, programu ilianguka na hitilafu "Docfile imeharibiwa".

010 Mhariri

010 Editor ni bidhaa maarufu ya kibiashara iliyotengenezwa na Programu ya SweetScape. Ikiwa unalinganisha na zana tatu zilizopita, basi inaweza kufanya kila kitu: inasaidia kufanya kazi na faili kubwa sana, hutoa uwezekano mzuri wa kudhibiti data, inakuwezesha kuhariri rasilimali za ndani, ina mfumo wa kuandika ili kugeuza vitendo vya kawaida (zaidi ya 140). utendaji tofauti katika huduma yako). Na Mhariri wa 010 pia ana twist, kipengele cha kipekee. Mhariri hufanya yote shukrani kwa uwezo wa kuchanganua fomati mbalimbali za faili kwa kutumia maktaba yake ya kiolezo (kinachojulikana kama Violezo vya Binary). Hapa hana sawa. Wapenzi wengi ulimwenguni kote wanafanya kazi kwenye violezo, wakitengeneza katika umbizo na miundo mbalimbali ya data. Matokeo yake, mchakato wa kuvinjari kupitia fomati mbalimbali za faili huwa wazi na kueleweka. Hii inatumika pia kwa usindikaji wa jozi za Windows (faili za PE), faili za njia za mkato za Windows (LNK), kumbukumbu za Zip, faili za darasa la Java na mengi zaidi. Watu wengi waliweza kutambua uzuri wa hila hii wakati mtaalamu maarufu wa usalama Didier Stevens alipounda kiolezo cha kuchanganua faili za PDF kwa Mhariri wa 010. Pamoja na huduma zingine, hii imerahisisha sana uchanganuzi wa hati za PDF zilizoambukizwa, ambazo kwa miezi sita iliyopita hazijaacha kushangazwa na idadi ya maeneo ambayo msomaji anaweza kunyonywa. Tunaongeza hapa zana nzuri ya kulinganisha jozi, kikokotoo kilicho na sintaksia inayofanana na C, kubadilisha data kati ya miundo ya ASCII, EBCDIC, Unicode, na tunapata zana ya kuvutia sana yenye vipengele vya kipekee.

Hiew

Hiew, kwa suala la njia ya usambazaji, sio tofauti sana na wenzake - pia ni bidhaa ya kibiashara, ambayo ilitengenezwa na mshirika wetu Evgeny Suslikov. Kwa historia ndefu, mpango huo unajulikana sana na wataalamu wengi wa usalama wa habari. Kuna sababu dhahiri za hii - uwezekano mkubwa wa kutafiti na kuhariri muundo na yaliyomo katika faili zinazoweza kutekelezwa za Windows (PE) na jozi za Linux (ELF). Kipengele kingine muhimu sana cha kurejesha nyuma ni mkusanyiko wa x86-64 uliojengwa na disassembler. Ya mwisho hata inasaidia maagizo ya ARM. Bila kusema, mhariri ni bora katika kuchimba faili kubwa na hukuruhusu kuhariri anatoa za kimantiki na za kimwili. Kazi nyingi hujiendesha kwa urahisi kupitia mfumo wa makro ya kibodi, hati, na hata API ya kutengeneza viendelezi (Hiew Extrenal Modules). Lakini kabla ya kukimbilia vitani, kumbuka - kiolesura cha Hiew ni dirisha linalofanana na DOS, ambalo sio rahisi kufanya kazi nalo kutoka kwa mazoea. Lakini unaweza kujisikia mwenyewe haiba yote ya shule ya zamani.

Radare

Radare ni mkusanyiko wa huduma zisizolipishwa za jukwaa la Unix ambalo hutoa vipengele vizuri vya kuhariri faili katika hali ya HEX. Inajumuisha mhariri wa hex yenyewe (radare) na uwezo wa kufungua faili za ndani na za mbali. Programu inachambua faili zinazoweza kutekelezwa za fomati anuwai, Linux (ELF) na Windows (PE). Kando na kuhariri, Radare ina zana ya kulinganisha ya binary (radiff) na kiunganishi / kitenganishi kilichojengwa ndani. Na kibinafsi, mara kadhaa chombo cha kutengeneza misimbo ya ganda (rasc) kilikuja kusaidia. Uendeshaji wowote unaweza kujiendesha kwa urahisi na kubinafsishwa kwa kutumia mfumo wa hati. Ya minuses, tena, tunaweza kutambua kutokuwepo kwa interface ya GUI - vitendo vyote vinafanywa kutoka kwa mstari wa amri, na utaweza kufanya kazi kikamilifu na huduma tu baada ya kusoma nyaraka. Kwa upande mwingine, tovuti ina skrini zinazoonekana zinazoonyesha mambo makuu na siri ndogo (kama vile kuunganisha programu-jalizi ya Python).

Kwa hiyo unapaswa kuchagua nini?

Tumeangalia vihariri kadhaa vya nguvu vya hex ambavyo vinajumuisha chaguo muhimu za kuchanganua faili zinazotiliwa shaka. Kati ya bidhaa zote, FileInsight inasimama nje, ambayo kwa utendaji wake wote (na inavutia sana) inabaki bure. 010 Editor hutoa idadi kubwa ya violezo kwa ajili ya kushughulikia aina mbalimbali za faili, ikiwa ni pamoja na hati za PDF. Hii ni kipengele cha mega ambacho hakiwezi kupuuzwa. Ninatumia wahariri hawa wawili kila wakati; kwa mchambuzi, labda ndio wanaofaa zaidi. Ikiwa tunazungumza juu ya kufanya kazi kwenye jukwaa la Unix, basi, bila shaka, hatupaswi kusahau kuhusu Radare. Kifurushi hutoa vipengele vyenye nguvu sana, ingawa ni vigumu kutumia kutokana na ukweli kwamba inafanya kazi kutoka kwa mstari wa amri. Hiew pia sio rafiki sana, ingawa uwezo wake, kwa kweli, hukuruhusu kufanya shughuli mbali mbali na binaries. Mbali na hilo, Hiew ni chaguo la idadi kubwa ya faida halisi, na inafaa sana (na inamaanisha mengi). Kuhusu Hex Editor Neo, inafaa kuchukua kwenye ubao ikiwa una nia ya uwezo wa kutenganisha nambari za x86, x64 na .NET.

KUMBUKA
Takwimu hazionyeshwa kwenye ukurasa huu, lakini unaweza kuzipata kwenye kitabu.

Tunachoenda kufanya sasa kinavutia sana kutoka kwa mtazamo wangu. Huu utakuwa mpango wako wa kwanza wa nambari ya mashine (na uwezekano mkubwa ndio pekee))).

Bunge ni lugha ya kiwango cha chini, lakini bado ni lugha. Umejaribu kuandika programu katika nambari za mashine? Hebu tujaribu sasa.

Unaweza kuandika programu bila wakusanyaji-wakusanyaji na zana zingine - kwa kutumia mhariri wowote wa hex (au mhariri wa hex au mhariri wa hex).

Bado, kuchanganua programu katika kihariri cha hexadecimal ni muhimu sana. Hasa kwa wale ambao watafanya kazi na umeme - baada ya yote, microprocessors hawaelewi ama Pascal au C ++. Ingawa kuna vifaa maalum na programu ambazo lugha hizi "huelezea" kwao.

Kwanza unahitaji mhariri wa hex. Unaweza kutumia chochote ulicho nacho kwa vidole vyako. Walakini, nitatumia McAfee FileInsight iliyotajwa hapo juu v2.1. Kihariri hiki cha hex kinaweza kupakuliwa. Vitendo vyote vilivyoelezewa hapa chini ni halali kwa mhariri huyu.

Kwa hivyo, una kihariri cha hexadecimal kilichosakinishwa. Tunazindua. Tunabofya kitufe cha OPEN, pata moja ya faili za COM ambazo tumeunda, kwa mfano, debug_1.com, na uipakie kwenye kihariri.

Wakati faili imepakiwa, utaona zifuatazo kwenye kihariri (tazama pia Mchoro 1.12):

00000000 B4 02 B2 41 CD 21 CD 20 ... A.!. Unaweza kufungua faili zingine mbili tulizounda: mycode.com (iliyoundwa katika emu8086) au ATEST.COM (ambayo tuliunda katika sehemu). Utaona kitu kimoja. Hii inamaanisha kuwa wakusanyaji wote hutoa msimbo sawa wa mashine. Hiyo ni, tofauti katika maandishi ya programu sio msingi - husababishwa tu na tofauti za wakusanyikaji wenyewe.

KUMBUKA
Ikiwa katika kesi yako unaona picha tofauti, basi labda umefungua faili nyingine, au unaitazama kwa hali ya maandishi. Katika kesi ya mwisho, bofya kitufe cha Tazama kama Hex kwenye upau wa vidhibiti (ona Mchoro 1.12).

Nambari hizi zinamaanisha nini?

Kila kitu ni wazi na zero - hii ndiyo kiini cha kwanza cha kumbukumbu ambacho nambari B4 imeandikwa. Nambari hii itaandikwa kushughulikia 0100h (kwa faili ya COM). Mstari unapaswa kuwa na nambari 16, ambayo kila moja ina tarakimu mbili. Nambari zimeandikwa kwa fomu ya hexadecimal. Lakini mpango wetu ni mdogo - ka 8 tu, kwa hivyo tuna nambari 8.

Lakini B4 ni nini hasa? Hii ndiyo amri - "Ingiza thamani katika rejista AH". Na tunaingia thamani gani? Sahihi: 02 (nambari inayofuata kwenye mstari).

AX = 0200 BX = 0000 CX = 0000 DX = 0000 SP = FFEE BP = 0000 SI = 0000 DI = 0000 DS = 0B72 ES = 0B72 SS = 0B72 CS = 0B72 IPNV = 0100 NAI2 IPPL 0100 NAI B241 MOV DL, 41 Unaona B241 kwenye mstari wa mwisho? Mchanganyiko unaojulikana? Hii ndio nambari ya amri ya MOV DL, 41.

Inabakia kukabiliana na wahusika wa ajabu mwishoni mwa mstari. Lakini hapa kila kitu ni rahisi: kila tarakimu katika nambari inalingana na msimbo wa tabia ya meza ya ASCII, na wahusika hawa huonyeshwa kwa mlolongo sawa na tarakimu za hexadecimal. Katika maandishi haya, baadhi ya wahusika hubadilishwa na vipindi (.) - hizi ni kanuni za herufi zisizo za alfabeti.

Kweli, sasa hebu tuandike na tuunde programu yetu iliyosomwa vizuri bila wakusanyaji na viunganishi. Fungua kihariri, unda faili mpya (ili kufanya hivyo, bofya kitufe MPYA kwenye upau wa vidhibiti), kisha ubofye kitufe cha Tazama kama Hex na uingize data:

00000000 B4 02 B2 41 CD 21 CD 20 Hifadhi faili chini ya jina, kwa mfano, hex_1.com. Kila kitu. Mpango uko tayari. Sasa unaweza kuianzisha na kupendeza uumbaji wako tena. Matokeo yatakuwa sawa na katika kesi zote zilizopita.

Na mshangao mmoja zaidi wa kupendeza kutoka kwa mhariri wa McAfee FileInsight v2.1 - ina disassembler yake mwenyewe! Ikiwa unapakia faili inayoweza kutekelezwa kwenye mhariri, na katika kona ya chini kushoto chagua kichupo cha DISASSEMBLY, unaweza kuona msimbo wa chanzo wa programu iliyopakiwa katika lugha ya kusanyiko (Mchoro 1.12).

Kwa nini tunahitaji wahariri wa hex na disassemblers hata kidogo? Ni vigumu sana. Ndiyo, si rahisi. Walakini, wadukuzi hawafikiri hivyo. Ni kwa msaada wa wahariri wa hex na disassemblers kwamba wanavunja programu. Wanapata maeneo wanayohitaji katika msimbo na kuyarekebisha kwa mujibu wa matakwa yao ya wadukuzi.

Bila shaka, sisi si walaghai. Hatutavunja programu. Walakini, disassemblers na wahariri wa hex ni muhimu sana kwa watengeneza programu wanaotii sheria. Zinatumika, kwa mfano, kwa utatuzi, kwa kujifunza nambari za mashine, nk. Kwa mfano, unajua jinsi amri ya lugha ya kusanyiko inaonekana, lakini unataka kujua msimbo wa mashine yake. Ikiwa hakuna nyaraka, basi kuna njia moja tu - mhariri wa hexadecimal na / au disassembler. Ikumbukwe, hata hivyo, sio maagizo yote yanafaa kwenye nambari ya mashine ya nambari mbili. Amri zingine ni ngumu sana na zinahitaji nambari zaidi kuwakilishwa katika misimbo ya mashine.

Mhariri wa HEX ni programu ambayo inaweza kuonyesha habari kama kompyuta "inavyoona", lakini kuibadilisha kuwa hexadecimal. Kufungua faili yoyote katika programu kama hiyo, mtumiaji ataona matrix inayojumuisha safu na safu, idadi ambayo inategemea saizi ya faili inayohusika. Kwa hivyo, ukibadilisha maadili ya ka kwenye hariri, yaliyomo kwenye hati wazi pia yatabadilika.

Nadharia kidogo

Data yoyote imehifadhiwa kwenye kumbukumbu ya PC kwa namna ya maneno ya mashine, vinginevyo - bytes. Kila moja inajumuisha biti 8 (nambari za binary ambazo huchukua thamani ama "0" au "1"). Kwa mahesabu ya hisabati, unaweza kuelewa kwamba nambari katika masafa kutoka 0 hadi 255 inaweza kuandikwa kwa baiti moja. Ukitafsiri 255 hadi hexadecimal, inabadilishwa kuwa FF. Hiyo ni, ni rahisi sana kutumia uwakilishi wa hexadecimal ili kuonyesha neno lolote la mashine. Kwa hivyo jina la kikundi cha programu - mhariri wa hexadecimal.

Mambo kuu ya programu

Kwa kuongeza matrix iliyoelezewa hapo juu, kunaweza kuwa na njia zingine katika kiolesura cha kikundi kilichowasilishwa cha programu:

  • Nambari za mstari. Kawaida iko upande wa kushoto wa programu. Inaonyesha usawazisho wa baiti ya kwanza ya mstari inayohusiana na mwanzo wa faili.
  • Mara nyingi kuna safu sawa ya nambari hapo juu, inayoonyesha usawa wa byte unaohusiana na kushoto wa thamani ya mstari. Kwa kuongeza maadili ya kamba, unaweza kupata nambari ya kila byte.
  • Kidirisha cha kulia kinaweza kuonyesha data sawa na kwenye jedwali, lakini kwa namna ya maandishi (mtumiaji).

McAfee FileInsight

Mhariri huyu wa HEX ni bure kabisa. Inafanya kazi tu katika mifumo ya uendeshaji ya familia ya Windows. Bidhaa ina seti zote za muungwana, kama vile kutazama na kuhariri faili. Kwa kuongeza, programu ina interface ya kupendeza na ya kirafiki.

Lakini utendakazi wa kawaida ndio kiwango cha chini kabisa ambacho FileInsight inaweza kutumika. Je, kiwango cha juu ni nini? Tunahitaji kuanza na uwezo wa kuchanganua miundo ya faili zinazoweza kutekelezwa. Je, hiyo haitoshi? Uchaguzi wowote unaweza kugawanywa kwa kuruka. Mbofyo mmoja - na nambari zisizoeleweka huwa tangazo linaloweza kusomeka.

Miongoni mwa mambo mengine, mhariri huu wa HEX hutoa aina mbalimbali za algorithms za usindikaji wa kanuni ili kuepuka ulinzi uliojengwa na watengenezaji. Awali ya yote, unahitaji kulipa kipaumbele kwa njia za kusimbua obfuscation kama vile add, xor, Base64, shift. Hati ambazo programu huja nazo huvunja aina hii ya usimbaji fiche kwa urahisi. Vitendo vingi vinaweza kuwa otomatiki kwa kuandika maandishi rahisi katika JS au Python. Wakati mwingine hauhitajiki kuunda kitu kipya, kwa sababu msingi wa haya ni ya kuvutia.

Ingawa FileInsight inachukuliwa kuwa mojawapo ya zana bora zaidi za uhandisi wa nyuma, programu pia ina shida kubwa - kutokuwa na uwezo wa kuchakata faili zinazozidi MB 400.

Hex Mhariri Neo

Mhariri huyu wa HEX huja katika matoleo mawili: ya bure na ya juu. Bidhaa iliyoidhinishwa bila malipo ni ya ubora wa juu, lakini haishangazi. Ya vipengele, unaweza kuonyesha mipangilio pana ya kiolesura na miradi ya rangi. Toleo la kitaaluma hutoa vipengele muhimu zaidi ambavyo vinafaa hasa wakati wa uchambuzi.

Kwa mfano, mtumiaji hupewa uwezo wa kusimbua programu zilizosimbwa na algoriti za kawaida. Zaidi ya hayo, kuna kazi zinazokuwezesha kuhariri rasilimali za ndani (RAM, mito ya NTFS, anatoa ngumu). Mchakato otomatiki unatekelezwa kwa kutumia hati za VBS na JS.

Hata hivyo, kipengele muhimu zaidi cha programu ni disassembler, ambayo inaweza kufanya kazi na faili za x64, x86 na .NET. Kipengele kingine ambacho hakijatolewa na washindani ni kuunda kiraka kulingana na ulinganisho wa jozi mbili zinazoweza kutekelezwa. Kwa hakika ni ya kuvutia, lakini ikilinganishwa na FileInsight, Neo bado inapoteza. Hata hivyo, NEO inaweza kushughulikia faili kubwa.

Hiew

Mhariri wa HEX Hiew hana toleo la bure. Timu kutoka Urusi inashiriki katika maendeleo. Bidhaa huanza historia yake tangu siku za utumizi wa 16-bit kwa DOS na Windows 3.1. Hiew mara nyingi hutumiwa na wataalamu wa usalama wa kompyuta na habari. Sababu ziko wazi: anuwai kamili ya chaguzi za kuhariri na kutazama jozi zinazoweza kutekelezwa za Windows, pamoja na programu zilizokusanywa za Linux (ELF).

Kipengele kingine mashuhuri cha uhandisi wa nyuma ni kitenganisha na kikusanyaji kilichojengwa ndani cha Hiew. Zaidi ya hayo, zinafanya kazi na programu zote mbili za x86 na x86_64, maagizo ya kichakataji pia yanaungwa mkono.Mhariri hushughulikia faili kubwa bila matatizo yoyote, hukuruhusu kufanya mabadiliko ya kiwango cha chini cha data kwenye HDD halisi.

Idadi kubwa ya vitendo inaweza kuwa otomatiki. Ili kufanya hivyo, waandaaji wa programu wamejenga uwezo wa kuunda maandishi, macros ya kibodi na kazi za API ambazo hutumiwa kuita taratibu za ndani kutoka kwa programu za nje. Lakini Hiew bado hakufanikiwa kupata ushindi usio na masharti katika uga wa wahariri wa heksadesimali. Uunganisho wake ni mtindo wa DOS kabisa, na huchota madirisha (au koni, ikiwa tunazungumza juu ya mifumo ya Linux).

Siku njema kwa wote.

Kwa sababu fulani, wengi wanaamini kuwa kufanya kazi na wahariri wa hex ni wataalamu wengi na watumiaji wa novice hawapaswi kuingilia kati yao. Lakini, kwa maoni yangu, ikiwa una angalau ujuzi wa msingi katika kufanya kazi na PC, na fikiria kwa nini unahitaji mhariri wa hex, basi kwa nini sivyo?!

Kwa msaada wa programu ya aina hii, unaweza kubadilisha faili yoyote, bila kujali aina yake (miongozo mingi na miongozo ina habari juu ya kubadilisha faili fulani kwa kutumia mhariri wa hex)! Kweli, mtumiaji anahitaji kuwa na angalau uelewa wa msingi wa mfumo wa hexadecimal (data katika mhariri wa hex inawakilishwa ndani yake). Hata hivyo, ujuzi wa msingi juu yake hutolewa katika masomo ya sayansi ya kompyuta shuleni, na pengine wengi wamesikia na kuwa na wazo kuhusu hilo (kwa hiyo, sitatoa maoni juu yake katika makala hii). Kwa hivyo, hapa kuna wahariri bora wa hex kwa Kompyuta (kwa maoni yangu ya unyenyekevu).

1) Mhariri wa Hex Neo wa Bure

Moja ya wahariri rahisi na wa kawaida wa faili za hexadecimal, decimal na binary kwa Windows. Programu inakuwezesha kufungua aina yoyote ya faili, kufanya mabadiliko (historia ya mabadiliko imehifadhiwa), ni rahisi kuchagua na kuhariri faili, kurekebisha na kuchambua.

Inafaa pia kuzingatia kiwango kizuri cha utendaji, pamoja na mahitaji ya chini ya mfumo kwa mashine (kwa mfano, programu hukuruhusu kufungua na kuhariri faili kubwa, wakati wahariri wengine hufungia na kukataa kufanya kazi).

Miongoni mwa mambo mengine, programu inasaidia lugha ya Kirusi, ina interface iliyofikiriwa vizuri na intuitive. Hata mtumiaji wa novice anaweza kuitambua na kuanza kufanya kazi na matumizi. Kwa ujumla, ninapendekeza kwa mtu yeyote anayeanza kufahamiana na wahariri wa hex.

2) WinHex

Mhariri huyu, kwa bahati mbaya, ni shareware, lakini ni mojawapo ya nyingi zaidi, inasaidia rundo la chaguo na uwezo tofauti (baadhi yao ni vigumu kupata kutoka kwa washindani).

Katika hali ya mhariri wa disk, inakuwezesha kufanya kazi na: HDD, diski za floppy, anatoa flash, DVD, ZIP-disks, nk Inasaidia mifumo ya faili: NTFS, FAT16, FAT32, CDFS.

Siwezi lakini kutaja zana zinazofaa za uchambuzi: kwa kuongeza dirisha kuu, unaweza kuunganisha zile za ziada na vihesabu anuwai, zana za kutafuta na kuchambua muundo wa faili. Kwa ujumla, inafaa kwa Kompyuta na watumiaji wenye uzoefu. Programu inasaidia Kirusi ( chagua menyu ifuatayo: Msaada / Usanidi / Kirusi ).

WinHex, pamoja na kazi zake za kawaida (ambazo zinaunga mkono programu zinazofanana), inakuwezesha "kuunganisha" disks na kufuta habari kutoka kwao ili hakuna mtu atakayeweza kurejesha tena!

3) Mhariri wa HxD Hex

Kihariri cha binary cha bure na chenye nguvu kabisa. Inasaidia encodings zote kuu (ANSI, DOS / IBM-ASCII na EBCDIC), faili za karibu ukubwa wowote (kwa njia, mhariri inaruhusu, pamoja na faili, kuhariri RAM, kuandika moja kwa moja mabadiliko kwenye gari ngumu!).

Inawezekana pia kutambua kiolesura kilichofikiriwa vizuri, kazi rahisi na rahisi ya kutafuta na kubadilisha data, mfumo wa hatua kwa hatua na wa ngazi nyingi wa chelezo na kurudi nyuma.

Baada ya kuanza, programu ina madirisha mawili: upande wa kushoto ni msimbo wa hexadecimal, na upande wa kulia ni tafsiri ya maandishi na yaliyomo kwenye faili.

Kati ya minuses, ningeonyesha kutokuwepo kwa lugha ya Kirusi. Walakini, kazi nyingi zitaeleweka hata kwa wale ambao hawajawahi kusoma Kiingereza ...

4) HexCmp

HexCmp - shirika hili ndogo linachanganya programu 2 mara moja: ya kwanza inakuwezesha kulinganisha faili za binary kwa kila mmoja, na pili ni mhariri wa hex. Hii ni chaguo la thamani sana wakati unahitaji kupata tofauti katika faili tofauti, inasaidia kuchunguza miundo tofauti ya aina tofauti zaidi za faili.

Kwa njia, maeneo baada ya kulinganisha yanaweza kuwa kivuli katika rangi tofauti, kulingana na ambapo kila kitu kinafanana na ambapo data ni tofauti. Ulinganisho unafanywa kwa kuruka na kwa haraka sana. Programu inasaidia faili hadi GB 4 kwa ukubwa (inatosha kwa kazi nyingi).

Mbali na kulinganisha kawaida, unaweza kufanya kulinganisha katika toleo la maandishi (au hata katika wote mara moja!). Mpango huo ni rahisi kutosha, inakuwezesha kubinafsisha mpango wa rangi, taja vifungo vya njia ya mkato. Ikiwa utasanidi programu ipasavyo, basi unaweza kufanya kazi nayo bila panya kabisa! Kwa ujumla, ninapendekeza kwa "wachunguzi" wote wa novice wa wahariri wa hex na miundo ya faili.

Machapisho yanayofanana