Hexspeak, як і Leet, є новою незвичайною формою запису слів англійської мови.
Hexspeak створили програмісти, які бажали використовувати магічні числа, цілочисельні константи для однозначної ідентифікації ресурсу або даних. За допомогою шістнадцяткової системи, що використовує десяткові цифри від 0 до 9 і латинські літери від A до F (0123456789ABCDEF), стало можливо створювати невеликі слова, в яких цифра «0» позначає букву «О», «1» позначає букви «I» або «L», «5» означає «S», «7» позначає «T», і «6» або «9» позначає «G» або «g» відповідно. Такі цифри, як 2 або 8 можуть використовуватися так само, як вони використовуються в Leet або ребусах; наприклад, слово «defecate» може бути представлено у вигляді DEFECA7E або ж DEFEC8.
Відомі магічні числа
Значна кількість процесорів, операційних систем і зневаджувачів використовують магічні числа, особливо як магічні налагоджувальні значення.
- 0x8BADF00D («ate bad food», укр. їв погану їжу) використовує Apple у звітах про помилки iOS для визначення ситуації, коли застосунок занадто довго або запускається, або завершується, або відповідає на події системи.
- 0xABADBABE («a bad babe», укр. погане дівча) використовує Apple як магічне число для «Boot Zero Block».[]
- 0x1BADB002 («I bad boot», укр. погане завантаження) — магічне число заголовка мультизавантажувача.
- 0xBAADF00D («bad food», укр. погана їжа) використовує LocalAlloc(LMEM_FIXED) компанії Microsoft для визначення не ініціалізованої ділянки пам'яті під час використання debug heap.
- 0xBADCAB1E («bad cable», укр. поганий кабель) — код помилки, що повертається зневаджувачу Microsoft eVC debugger у разі розриву зв'язку.[]
- 0xBADDCAFE («bad cafe», укр. погане кафе) використовує зневаджувальний раозподільник пам'яті watchmalloc в OpenSolaris для визначення виділеної, але незадіяної пам'яті.[]
- 0xBEADFACE ("bead face, «face bead», укр. прикрась обличчя бісером) — шаблон, що заповнює всю невикористовувану пам'ять у симуляторі мікроконтролера Motorola 68HCS12DP256, SimHC12.
- 0xCAFEBABE («cafe babe», укр. дівча з кафе) використовує Mach-O для вказування на [en], а також у мові Java для ідентифікації файлів класів Java bytecode.
- 0xCAFED00D («Cafe Dude», укр. молодик із кафе) використовується у (Java) як магічне число для його стиснення pack200.[]
- 0xD15EA5E («disease», укр. хвороба) прапорець, що вказує на нормальне завантаження на Nintendo GameCube і Wii консолях.
- 0xDEADBABE («Dead Babe», укр. мертве дівча) використовує IBM для контролю стека головного потоку
- 0xDEADBEEF («dead beef», укр. мертва яловичина) часто використовується для визначення аварійного завершення програми або зависання у вбудовуваних пристроях. Використовується в системах IBM RS/6000, Mac OS на 32-бітових процессорах PowerPC і Commodore Amiga як магічне число для зневадження. В Solaris воно означає вивільнену пам'ять ядра. В OpenVMS на процесорах Alpha можна побачити DEAD_BEEF, натиснувши клавіші CTRL+T. В консолі у DEC Alpha SRM є фоновий процес, який слідкує за помилками в пам'яті, визначений у PS як «BeefEater waiting on 0xdeadbeef»..
- 0xDEADDEAD («dead dead», укр. мертвий-мертвий) зневаджувальний код, що виводиться під час виклику синього екрана смерті за допомогою зневаджувача ядра або з використанням специального сполучення клавіш. Цим зазвичай користуються розробники драйверів для отримання дампа пам'яті в операційних системах на базі Windows NT. Альтернативним кодом 0xDEADDEAD є 0x000000E2, який ще називають MANUALLY_INITIATED_CRASH на Microsoft Developer Network.
- 0xDEADFA11 («dead fall», укр. смертельне падіння) використовує Apple в iOS під час падінь системи, коли користувач вимушений закрити застосунок.
- 0xDEFEC8ED («defecated», укр. випорожнений) — магічне число для OpenSolaris.
- 0xFACEFEED («face feed», укр. корм для обличчя) використовується в серверах Alpha, що працюють під керуванням Windows NT. Alpha Hardware Abstraction Layer (HAL) генерує цюпомилку, коли зустрічає апаратний збій.
- 0xFEE1DEAD («feel dead», укр. почуватися мертвим) використовується як магічне число в Linux у системному виклику reboot.
- 0xFEEDCAFE («feed cafe», укр. годуй кафе) використовується разом з 0xDEADBEEF аналогічно «foo» і «bar».
- 0xFEEDFACE («feed face», укр. годуй обличчя) використовується як сигнатура двійкових файлів Mach-O і як значення неправильного вказівника для watchmalloc в OpenSolaris.[]
- 0xC0FFEE («coffee», укр. кава) використовується в таких 24-бітовх DSP, як Motorola 56303.[]
- 0xE011CFD0 — магічне число для файлів Microsoft Office. В little-endian воно читаєтся як D0CF11E0, «docfile0».
- 0xFACE8D — колір шкіри у форматі RGB.
- 0xFEEE («free», укр. вільний) використовують Debug-конфігурації деяких компіляторів (напр., MSVC) для маркування вказівників на звільнену память.
- 0xCCCCCCCC — також використовують Debug-конфігурації компіляторів для первинної ініціалізації вказівників на об'єкти.
Створення магічних чисел
Зазначені вище слова — лише незначна частина з сотень слів англійської мови, що містять тільки літери «a», «b», «c», «d», «e», «f», «o», «i» та «s», тому програмістам легко створювати власні, такі як 0xD15EA5ED або 0xBED51DE5. Можна помітити кілька шаблонів у класичних hexspeak-константах, перелічених вище. Всі ці константи використовують всю ширину машинного слова (у даному випадку 32-бітовго), і жодне з них не починається з 1 або 5. Такий вибір означає, що якщо слово інтерпретувати як ціле число в десятковому запису, то це зазвичай велике від'ємне ціле. Використовуване компанією Microsoft значення 0xBAADF00D — також хороше значення для відлову доступу до проініціалізованої пам'яті з іншої причини — закінчення слова «1», «5», «b», «d» або «f» створює непарне число, яке генерує [en] на багатьох процесорних архітектурах, якщо константа інтерпретована як значення вказівника.
Альтернативні літери
- В мові програмування Ada шістнадцяткові числа укладені в «16#» і «#». Наприклад: «16#Ada_Ada_Ada_Ada#».
- У мові програмування C для позначення шістнадцяткових чисел використовується префікс «0x». При читанні слів його зазвичай ігнорують.
- В асемблері 6502 шістнадцяткові числа позначають префіксом «$». Це дозволяє використовувати слова, які починаються на «S», наприклад $EED («seed»).
- В Асемблері з синтаксисом Intel шістнадцяткові числа мають закінчення «h». Наприклад: FEEDADEADF15h («feed a dead fish» — «годуй мертву рибу»). Зауважимо, що числа в такому записі не можуть починатися з літери, щоб компілятор не плутав їх зі змінними, тому на початку вводиться нуль. Так число «FEEDADEADF15h» повинно бути записано як «0FEEDADEADF15h».
Див. також
Посилання
- Technical Note TN2151: Understanding and Analyzing iPhone OS Application Crash Reports. Архів оригіналу за 2 липня 2012.
- Multiboot specifications. Архів оригіналу за 2 липня 2012.
- Win32 Debug CRT Heap Internals. Архів оригіналу за 2 липня 2012.
- Why Cafebabe. Artima.com. Архів оригіналу за 2 липня 2012. Процитовано 1 жовтня 2009.
- Yet Another Gamecube Documentation: Dolphin-OS Globals. Архів оригіналу за 2 липня 2012.
- Wiibrew: Memory Map. Архів оригіналу за 2 липня 2012.
- DEADBABE sanity check. Архів оригіналу за 2 липня 2012. Процитовано 1 жовтня 2009.
- Jargon File entry for DEADBEEF. Catb.org. Архів оригіналу за 2 липня 2012. Процитовано 1 жовтня 2009.
- Bug Check 0xDEADDEAD: MANUALLY_INITIATED_CRASH, MSDN. msdn.microsoft.com. 1 жовтня 2009. Архів оригіналу за 2 липня 2012. Процитовано 13 жовтня 2009.
- Bug Check 0xE2: MANUALLY_INITIATED_CRASH, MSDN. msdn.microsoft.com. 1 жовтня 2009. Архів оригіналу за 2 липня 2012. Процитовано 13 жовтня 2009.
- Opensolaris header line 48 for 0xDEFEC8ED. Cvs.opensolaris.org. Архів оригіналу за 2 липня 2012. Процитовано 1 жовтня 2009.
- Technet article for 0xFACEFEED. Support.microsoft.com. 1 листопада 2006. Архів оригіналу за 2 липня 2012. Процитовано 1 жовтня 2009.
- include/linux/reboot.h. Архів оригіналу за 2 липня 2012.
- Documents That Are Supported by the Office Filter. Архів оригіналу за 2 липня 2012.
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
Hexspeak yak i Leet ye novoyu nezvichajnoyu formoyu zapisu sliv anglijskoyi movi Hexspeak stvorili programisti yaki bazhali vikoristovuvati magichni chisla cilochiselni konstanti dlya odnoznachnoyi identifikaciyi resursu abo danih Za dopomogoyu shistnadcyatkovoyi sistemi sho vikoristovuye desyatkovi cifri vid 0 do 9 i latinski literi vid A do F 0123456789ABCDEF stalo mozhlivo stvoryuvati neveliki slova v yakih cifra 0 poznachaye bukvu O 1 poznachaye bukvi I abo L 5 oznachaye S 7 poznachaye T i 6 abo 9 poznachaye G abo g vidpovidno Taki cifri yak 2 abo 8 mozhut vikoristovuvatisya tak samo yak voni vikoristovuyutsya v Leet abo rebusah napriklad slovo defecate mozhe buti predstavleno u viglyadi DEFECA7E abo zh DEFEC8 Vidomi magichni chislaZnachna kilkist procesoriv operacijnih sistem i znevadzhuvachiv vikoristovuyut magichni chisla osoblivo yak magichni nalagodzhuvalni znachennya 0x8BADF00D ate bad food ukr yiv poganu yizhu vikoristovuye Apple u zvitah pro pomilki iOS dlya viznachennya situaciyi koli zastosunok zanadto dovgo abo zapuskayetsya abo zavershuyetsya abo vidpovidaye na podiyi sistemi 0xABADBABE a bad babe ukr pogane divcha vikoristovuye Apple yak magichne chislo dlya Boot Zero Block dzherelo 0x1BADB002 I bad boot ukr pogane zavantazhennya magichne chislo zagolovka multizavantazhuvacha 0xBAADF00D bad food ukr pogana yizha vikoristovuye LocalAlloc LMEM FIXED kompaniyi Microsoft dlya viznachennya ne inicializovanoyi dilyanki pam yati pid chas vikoristannya debug heap 0xBADCAB1E bad cable ukr poganij kabel kod pomilki sho povertayetsya znevadzhuvachu Microsoft eVC debugger u razi rozrivu zv yazku dzherelo 0xBADDCAFE bad cafe ukr pogane kafe vikoristovuye znevadzhuvalnij raozpodilnik pam yati watchmalloc v OpenSolaris dlya viznachennya vidilenoyi ale nezadiyanoyi pam yati dzherelo 0xBEADFACE bead face face bead ukr prikras oblichchya biserom shablon sho zapovnyuye vsyu nevikoristovuvanu pam yat u simulyatori mikrokontrolera Motorola 68HCS12DP256 SimHC12 0xCAFEBABE cafe babe ukr divcha z kafe vikoristovuye Mach O dlya vkazuvannya na en a takozh u movi Java dlya identifikaciyi fajliv klasiv Java bytecode 0xCAFED00D Cafe Dude ukr molodik iz kafe vikoristovuyetsya u Java yak magichne chislo dlya jogo stisnennya pack200 dzherelo 0xD15EA5E disease ukr hvoroba praporec sho vkazuye na normalne zavantazhennya na Nintendo GameCube i Wii konsolyah 0xDEADBABE Dead Babe ukr mertve divcha vikoristovuye IBM dlya kontrolyu steka golovnogo potoku 0xDEADBEEF dead beef ukr mertva yalovichina chasto vikoristovuyetsya dlya viznachennya avarijnogo zavershennya programi abo zavisannya u vbudovuvanih pristroyah Vikoristovuyetsya v sistemah IBM RS 6000 Mac OS na 32 bitovih processorah PowerPC i Commodore Amiga yak magichne chislo dlya znevadzhennya V Solaris vono oznachaye vivilnenu pam yat yadra V OpenVMS na procesorah Alpha mozhna pobachiti DEAD BEEF natisnuvshi klavishi CTRL T V konsoli u DEC Alpha SRM ye fonovij proces yakij slidkuye za pomilkami v pam yati viznachenij u PS yak BeefEater waiting on 0xdeadbeef 0xDEADDEAD dead dead ukr mertvij mertvij znevadzhuvalnij kod sho vivoditsya pid chas vikliku sinogo ekrana smerti za dopomogoyu znevadzhuvacha yadra abo z vikoristannyam specialnogo spoluchennya klavish Cim zazvichaj koristuyutsya rozrobniki drajveriv dlya otrimannya dampa pam yati v operacijnih sistemah na bazi Windows NT Alternativnim kodom 0xDEADDEAD ye 0x000000E2 yakij she nazivayut MANUALLY INITIATED CRASH na Microsoft Developer Network 0xDEADFA11 dead fall ukr smertelne padinnya vikoristovuye Apple v iOS pid chas padin sistemi koli koristuvach vimushenij zakriti zastosunok 0xDEFEC8ED defecated ukr viporozhnenij magichne chislo dlya OpenSolaris 0xFACEFEED face feed ukr korm dlya oblichchya vikoristovuyetsya v serverah Alpha sho pracyuyut pid keruvannyam Windows NT Alpha Hardware Abstraction Layer HAL generuye cyupomilku koli zustrichaye aparatnij zbij 0xFEE1DEAD feel dead ukr pochuvatisya mertvim vikoristovuyetsya yak magichne chislo v Linux u sistemnomu vikliku reboot 0xFEEDCAFE feed cafe ukr goduj kafe vikoristovuyetsya razom z 0xDEADBEEF analogichno foo i bar 0xFEEDFACE feed face ukr goduj oblichchya vikoristovuyetsya yak signatura dvijkovih fajliv Mach O i yak znachennya nepravilnogo vkazivnika dlya watchmalloc v OpenSolaris dzherelo 0xC0FFEE coffee ukr kava vikoristovuyetsya v takih 24 bitovh DSP yak Motorola 56303 dzherelo 0xE011CFD0 magichne chislo dlya fajliv Microsoft Office V little endian vono chitayetsya yak D0CF11E0 docfile0 0xFACE8D kolir shkiri u formati RGB 0xFEEE free ukr vilnij vikoristovuyut Debug konfiguraciyi deyakih kompilyatoriv napr MSVC dlya markuvannya vkazivnikiv na zvilnenu pamyat 0xCCCCCCCC takozh vikoristovuyut Debug konfiguraciyi kompilyatoriv dlya pervinnoyi inicializaciyi vkazivnikiv na ob yekti Stvorennya magichnih chiselZaznacheni vishe slova lishe neznachna chastina z soten sliv anglijskoyi movi sho mistyat tilki literi a b c d e f o i ta s tomu programistam legko stvoryuvati vlasni taki yak 0xD15EA5ED abo 0xBED51DE5 Mozhna pomititi kilka shabloniv u klasichnih hexspeak konstantah perelichenih vishe Vsi ci konstanti vikoristovuyut vsyu shirinu mashinnogo slova u danomu vipadku 32 bitovgo i zhodne z nih ne pochinayetsya z 1 abo 5 Takij vibir oznachaye sho yaksho slovo interpretuvati yak cile chislo v desyatkovomu zapisu to ce zazvichaj velike vid yemne cile Vikoristovuvane kompaniyeyu Microsoft znachennya 0xBAADF00D takozh horoshe znachennya dlya vidlovu dostupu do proinicializovanoyi pam yati z inshoyi prichini zakinchennya slova 1 5 b d abo f stvoryuye neparne chislo yake generuye en na bagatoh procesornih arhitekturah yaksho konstanta interpretovana yak znachennya vkazivnika Alternativni literiV movi programuvannya Ada shistnadcyatkovi chisla ukladeni v 16 i Napriklad 16 Ada Ada Ada Ada U movi programuvannya C dlya poznachennya shistnadcyatkovih chisel vikoristovuyetsya prefiks 0x Pri chitanni sliv jogo zazvichaj ignoruyut V asembleri 6502 shistnadcyatkovi chisla poznachayut prefiksom Ce dozvolyaye vikoristovuvati slova yaki pochinayutsya na S napriklad EED seed V Asembleri z sintaksisom Intel shistnadcyatkovi chisla mayut zakinchennya h Napriklad FEEDADEADF15h feed a dead fish goduj mertvu ribu Zauvazhimo sho chisla v takomu zapisi ne mozhut pochinatisya z literi shob kompilyator ne plutav yih zi zminnimi tomu na pochatku vvoditsya nul Tak chislo FEEDADEADF15h povinno buti zapisano yak 0FEEDADEADF15h Div takozhLeet File Unix PosilannyaTechnical Note TN2151 Understanding and Analyzing iPhone OS Application Crash Reports Arhiv originalu za 2 lipnya 2012 Multiboot specifications Arhiv originalu za 2 lipnya 2012 Win32 Debug CRT Heap Internals Arhiv originalu za 2 lipnya 2012 Why Cafebabe Artima com Arhiv originalu za 2 lipnya 2012 Procitovano 1 zhovtnya 2009 Yet Another Gamecube Documentation Dolphin OS Globals Arhiv originalu za 2 lipnya 2012 Wiibrew Memory Map Arhiv originalu za 2 lipnya 2012 DEADBABE sanity check Arhiv originalu za 2 lipnya 2012 Procitovano 1 zhovtnya 2009 Jargon File entry for DEADBEEF Catb org Arhiv originalu za 2 lipnya 2012 Procitovano 1 zhovtnya 2009 Bug Check 0xDEADDEAD MANUALLY INITIATED CRASH MSDN msdn microsoft com 1 zhovtnya 2009 Arhiv originalu za 2 lipnya 2012 Procitovano 13 zhovtnya 2009 Bug Check 0xE2 MANUALLY INITIATED CRASH MSDN msdn microsoft com 1 zhovtnya 2009 Arhiv originalu za 2 lipnya 2012 Procitovano 13 zhovtnya 2009 Opensolaris header line 48 for 0xDEFEC8ED Cvs opensolaris org Arhiv originalu za 2 lipnya 2012 Procitovano 1 zhovtnya 2009 Technet article for 0xFACEFEED Support microsoft com 1 listopada 2006 Arhiv originalu za 2 lipnya 2012 Procitovano 1 zhovtnya 2009 include linux reboot h Arhiv originalu za 2 lipnya 2012 Documents That Are Supported by the Office Filter Arhiv originalu za 2 lipnya 2012