Како креирати Хекдумп фајла или низ текста

Увод

Хек депонија је хексадецимални приказ података. Можда желите да користите хексадецимал приликом отклањања програма или да бисте обрнули инжењер програма.

На пример, многи формати датотека имају специфичне хекс карактере за означавање њиховог типа. Ако покушавате да прочитате датотеку помоћу програма и из неког разлога не учитавају се правилно, можда је да датотека није у формату који очекујете.

Ако желите да видите како програм ради и да немате изворни код или комад софтвера који обрнуто инжињерирају код, можете погледати хек депонију како бисте покушали да сазнате шта се дешава.

Шта је хексадецимално?

Рачунари мисле у бинарном . Сваки знак, број и симбол се односе на бинарну или вишеструку бинарну вредност.

Људска бића, међутим, имају тенденцију размишљања у децималном броју.

Хиљаде Стотине Десет Јединице
1 0 1 1

Као људи, наши најнижи бројеви се називају јединице и представљају бројеве од 0 до 9. Када дођемо до 10, поновимо колону јединице натраг на 0 и додамо 1 у десетак колона (10).

128 64 32 16 8 4 2 1
1 0 0 1 0 0 0 1

У бинарном реду, најмањи број представља само 0 и 1. Када добијемо 1, ставимо 1 у колону 2 и 0 у 1 колону. Када желите да представите 4 ставите 1 у колону 4 и ресетујте колону 2 и 1.

Према томе, да бисте представили 15, имали бисте 1111, што значи 1 осам, 1 четврто, 1 двоје и 1 један. (8 + 4 + 2 + 1 = 15).

Ако смо погледали датотеку података у бинарном формату, било би апсолутно огромно и практично немогуће имати смисла.

Следећи корак од бинарног је октални, који користи 8 као основни број.

24 16 8 1
0 1 1 0

У окталном систему прва колона иде од 0 до 7, друга колона је 8 до 15, трећа колона 16 до 23 и четврта колона 24 до 31 и тако даље. Иако је обично лакше читати него бинарно, већина људи више воли да користи хексадецимално.

Хекадецимал користи 16 као основни број. Сада је то збуњујуће јер, као људи, мислимо на бројеве од 0 до 9.

Па шта се користи за 10, 11, 12, 13, 14, 15? Одговор је писма.

Вредност 100 је стога представљена са 64. Потребан вам је 6 колона 16с, који доносе 96, а затим 4 у колони јединица које чине 100.

Сви ликови у датотеци биће означени хексадецималном вредношћу. Ове вредности значе зависно од формата саме датотеке. Формат фајла означава хексадецималне вриједности које се обично чувају на почетку датотеке.

Са познавањем низова хексадецималних вредности које се појављују на почетку датотека, можете ручно да израдите у ком формату се налази датотека. Прегледање датотеке у хексадецималном думпу може вам помоћи да пронађете скривене знакове који се не приказују када се датотека налази учитани у нормалан текст едитор.

Како направити Хек депонију користећи Линук

Да бисте креирали хексадецу користећи Линук користите команду хекдумп.

Да бисте приказали датотеку као хек за терминал (стандардни излаз) покрените следећу команду:

хекдумп филенаме

На пример

хекдумп имаге.пнг

Подразумевани излаз ће приказати број линије (у хексадецималном формату), а затим 8 комада од 4 хексадецималне вриједности по линији.

На пример:

00000000 5089 474е 0а0д 0а1а 0000 0д00 4849 5244

Можете да набавите различите прекидаче да бисте променили подразумевани излаз. На пример, прецизирањем минус б прекидача ће се направити 8-цифрени оффсет, а затим 16 три колоне, нула попуњена, бајта улазних података у окталном формату.

хекдумп -б имаге.пнг

Стога ће горњи примјер бити представљен на сљедећи начин:

00000000 211 120 116 107 015 012 032 012 000 000 000 015 111 110 104 122

Горњи формат је познат као једнобајтни октални приказ.

Други начин гледања датотеке је приказивање једним бајтом користећи минус ц прекидач.

хекдумп -ц имаге.пнг

Ово поново приказује оффсет, али овог пута прати шеснаест размака одвојених простора, три колоне, карактери испуњени просторима улазних података по линији.

Друге опције укључују Цаноницал хек + асции дисплеј који се може приказати помоћу минус Ц прекидача и двобајтног децималног приказа који се може приказати помоћу минус д прекидача. Минус о прекидач се може користити за приказивање двобајтног окталног дисплеја. Коначно, прекидач минук к се може користити за приказ двоструког хексадецималног дисплеја.

хекдумп -Ц имаге.пнг

хекдумп -д имаге.пнг

хекдумп -о имаге.пнг

хекдумп -к имаге.пнг

Ако ниједан од наведених формата не одговара вашим потребама, користите минус е прекидач да бисте одредили формат.

Ако знате да је датотека са подацима веома дугачка и да желите само да видите првих неколико карактера за одређивање њене врсте, можете користити прекидач -н да одредите колико ће се датотека приказати у хек.

хекдумп -н100 имаге.пнг

Горња команда приказује првих сто бајтова.

Ако желите прескочити дио датотеке, можете користити минус с прекидач да бисте поставили оффсет за кретање.

хекдумп -с10 имаге.пнг

Ако не уносите име датотеке, текст се чита са стандардног уноса.

Једноставно унесите следећу команду:

хекдумп

Затим унесите текст у стандардни унос и завршите тако што ћете откуцати. Хекс је приказан на стандардном излазу.

Резиме

Хексдумп услужни програм је очигледно прилично моћан алат и дефинитивно морате прочитати страницу са упутствима како бисте се у потпуности ухватили у све функције.

Требало би вам добро разумевање онога што тражите приликом читања излаза.

Да бисте погледали страницу приручника покрените следећу команду:

човек хекдумп