Hexspeak - Hexspeak
Hexspeak, подобно гадкий язык, это новая форма варианта английский написание с использованием шестнадцатеричных цифр. Создано программистами как запоминающееся магические числа, слова hexspeak могут служить четким и уникальным идентификатором для пометки памяти или данных.
Шестнадцатеричная запись представляет числа с использованием 16 цифр 0123456789ABCDEF
. Используя только буквы ABCDEF
можно написать несколько слов. Дальнейшие слова можно составить, рассматривая некоторые десятичные числа как буквы - цифру "0
"может представлять букву" О "и"1
"может представлять буквы" I "или" L ". Реже"5
"может представлять" S ","7
"представляют" Т ","12
"представляют" R "и"6
" или же "9
"может представлять" G "или" g "соответственно. Такие числа, как 2
, 4
или же 8
можно использовать аналогично позвольте или же ребусы; например слово «испражняться» можно выразить как DEFECA7E
или же DEFEC8
.
Известные магические числа
Много компьютерные процессоры, операционные системы, и отладчики использовать магические числа, особенно как магическое значение отладки.
Код | Десятичный | Описание |
---|---|---|
0x0000000FF1CE | 1044942 | ("офис") используется как последняя часть кодов товаров (GUID ) за Microsoft Office компоненты (отображаются в реестре в разделе HKLM SOFTWARE Microsoft Windows CurrentVersion Uninstall раздела реестра). |
0x00BAB10C | 12235020 | ("über (ooba) block") используется как магическое число для ZFS уберблок. |
0x1BADB002 | 464367618 | («1 плохая загрузка»[1]) Магический номер заголовка мультизагрузки.[2] |
0x4B1D | 19229 | ("запретить") было паролем в некоторых консолях калибровки, чтобы разработчики могли глубже заглядывать в регистры управления за пределами обычного диапазона калибровочной памяти.[нужна цитата ] |
0x8BADF00D | 2343432205 | ("съел плохую еду") используется яблоко в iOS отчеты о сбоях, когда приложение слишком долго запускается, завершается или реагирует на системные события.[3] |
0xABADBABE | 2880289470 | ("плохой малыш") использовался / используется Microsoft Windows 7 для запуска точки останова отладчика, вероятно, когда подключено USB-устройство[4] |
0xB105F00D | 2969956365 | ("BIOS food") - это значение младших байтов последних четырех регистров на компонентах, совместимых с ARM PrimeCell (регистры component_id), используемое для определения правильного поведения отображаемого в память компонента. |
0xB16B00B5 | 2976579765 | ("большие сиськи") требовалось Microsoft с Hyper-V гипервизор, который будет использоваться гостями Linux в качестве «гостевой подписи».[5] Одно предложение предлагало изменить его на 0x0DEFACED ("испорченный").[6] Но на самом деле он был сначала изменен на десятичный, а затем полностью заменен.[7] |
0x0B00B135 | 184594741 | ("олухи") также требовались Microsoft с Hyper-V гипервизор, который будет использоваться пользователем XEN в качестве идентификатора пользователя.[8] Он был удален 22 января 2010 года. [9] |
0xBAAAAAAD | 3131746989 | ("baaaaaad") используется яблоко с iOS отчет об исключениях, чтобы указать, что журнал представляет собой снимок всей системы, а не отчет о сбоях.[10] |
0xBAADF00D | 3131961357 | («плохая еда») используется Microsoft LocalAlloc (LMEM_FIXED) для указания неинициализированной выделенной памяти кучи, когда используется куча отладки.[11] |
0xBAD22222 | 3134333474 | ("плохо слишком часто") используется яблоко с iOS журнал исключений, чтобы указать, что приложение VoIP было прекращено iOS из-за слишком частого возобновления работы.[10] |
0xBADDCAFE | 3135097598 | ("плохое кафе") используется Либумем для обозначения неинициализированной области памяти. |
0xBEEFBABE | 3203381950 | ("beef babe") используется Frogger (игра, 1997) обнаружить переполнение буфера стека. |
0xB000 0xDEAD | 2952847021 | ("бу мертв") был отображен HP 9000 Модель 840 когда разбилась.[нужна цитата ] |
0xC00010FF | 3221229823 | ("остыть") используется яблоко в iOS отчеты о сбоях, когда приложение было остановлено в ответ на тепловое событие.[3] |
C15C: 0D06: F00D | 212601099710477 | ("корм для собак cisco"), используемый в IPv6-адрес из www.cisco.com на Всемирный день IPv6. «Корм для собак» относится к Cisco. ест собачий корм с IPv6. |
0xCAFEBABE | 3405691582 | ("детка из кафе") используется План 9 libc как опасное значение для пулов памяти.[12] Он также используется Мачо идентифицировать Универсальный объектные файлы и Язык программирования Java идентифицировать Байт-код Java файлы классов. Первоначально он был создан Следующий шаг разработчиков в качестве ссылки на бариста в Кофе и чай Пита.[13] |
0xCAFED00D | 3405697037 | ("чувак из кафе") используется Ява как магическое число для их pack200 сжатие.[14] |
0xCEFAEDFE | 3472551422 | ("подача лица") используется Мачо для идентификации плоских объектных файлов (с единой архитектурой). В прямой порядок байтов это гласит FEEDFACE , «Кормить грань». |
0x0D15EA5E | 219540062 | ("нулевое заболевание") - это флаг, указывающий на регулярную загрузку на Nintendo GameCube и Wii консоли.[15][16] |
0xDABBAD00 | 3669732608 | ("dabba doo") - это название блога о компьютерной безопасности.[17] |
0xDEAD2BAD | 3735890861 | ("очень плохо") использовалось для обозначения выделенных областей памяти, которые еще не были инициализированы на Секвент Dynix / PTX системы. |
0xDEADBAAD | 3735927469 | ("dead bad") используется функцией Android libc abort () при обнаружении повреждения собственной кучи. |
0xDEADBABE | 3735927486 | ("мертвый младенец") используется IBM Jikes RVM как проверка работоспособности стека первичного потока.[18] |
0xDEADBEAF | 3735928495 | ("мертвый биф") является частью кода подписи Джазовый зайчик 2 файлы наборов тайлов.[19] В файлах уровней меньше места для подписей и использования 0xBABE ("детка") вместо этого.[20] Это также заголовок сохраненных игр кампании, используемых в серии игр Halo. |
deadbeef-dead-beef-dead-beef00000075 | («мертвая говядина») - это GUID назначен зависшим / мертвым виртуальные машины в Citrix XenServer. | |
0xDEADBEEF | 3735928559 | («мертвая говядина») часто используется для обозначения сбоя программного обеспечения или тупика во встроенных системах. 0xDEADBEEF изначально использовался для обозначения вновь выделенных областей памяти, которые еще не были инициализированы - при сканировании дампа памяти легко увидеть 0xDEADBEEF . Используется IBM RS / 6000 системы, Mac OS на 32-битном PowerPC процессоры и Коммодор Amiga как волшебное значение отладки. На Sun Microsystems ' Солярис, он отмечает освобожденную память ядра. На OpenVMS работает на процессорах Alpha, 0xDEADBEEF можно увидеть, нажав CTRL-T. Консоль DEC Alpha SRM имеет фоновый процесс, который перехватывает ошибки памяти, идентифицированные PS как «BeefEater, ожидающий 0xdeadbeef».[21] |
0xDEADC0DE | 3735929054 | ("мертвый код ") используется как маркер в OpenWrt микропрограмма для обозначения начала создаваемой файловой системы jffs2 в конце статической микропрограммы. |
0xDEADDEAD | 3735936685 | ("dead dead") - это код проверки ошибок (STOP), отображаемый при вызове Синий экран смерти либо сообщая ядру через подключенный отладчик, либо используя специальную комбинацию клавиш.[22] Обычно это видят разработчики драйверов, поскольку они используются для получения дампа памяти в системах на базе Windows NT. Альтернатива 0xDEADDEAD это код проверки ошибок 0x000000E2 ,[23] поскольку они оба называются MANUALLY_INITIATED_CRASH, как показано в сети разработчиков Microsoft. |
0xDEADD00D | 3735932941 | ("мертвый чувак") используется Android в Виртуальная машина Dalvik для обозначения прерывания виртуальной машины. |
0xDEADFA11 | 3735943697 | ("мертвое падение" или "мертвое падение") используется яблоко в iOS отчеты о сбоях, когда пользователь принудительно закрывает приложение.[3] |
0xDEAD10CC | 3735883980 | ("тупиковый замок") используется яблоко в iOS отчеты о сбоях, когда приложение удерживает системный ресурс во время работы в фоновом режиме.[3] |
0xDEADFEED | 3735944941 | ("мертвый корм") используется яблоко в iOS отчеты о сбоях, когда истекает время ожидания службы |
0xDECAFBAD | 3737844653 | ("decaf bad") часто встречается в кодировании как легко распознаваемое магическое число при шестнадцатеричном дампе памяти. |
0xDEFEC8ED | 3741239533 | ("испражненный") - магическое число для OpenSolaris дампы керна.[24] |
0xD0D0CACA | 3503344330 | ("дуу дуу кака ") - это неинициализированное значение значений GPIO на Nvidia. Тегра X1[нужна цитата ] |
0xE011CFD0 | 3759263696 | ("docfile0") используется как магическое число для файлов Microsoft Office. В прямой порядок байтов это гласит D0CF11E0 , "docfile0".[25] |
лицо: b00c | 4207849484 | ("facebook ") используется в IPv6-адреса из www.facebook.com.[26] |
0xFACEFEED | 4207869677 | («Face Feed») используется Alpha-серверами под управлением Windows NT. Альфа Уровень аппаратной абстракции (HAL) генерирует эту ошибку, когда обнаруживает аппаратный сбой.[27] |
0xFBADBEEF | 4222467823 | ("плохая говядина") используется в WebKit и Мигать механизмы компоновки, чтобы указать на известную неисправимую ошибку, например нехватку памяти.[28] |
0xFEE1DEAD | 4276215469 | («чувствовать себя мертвым») используется как магическое число в Linux перезагрузить системный вызов.[29] |
0xFEEDBABE | 4276992702 | («кормить малышку») - это магическое число, используемое для обозначения начала OpenRG дескриптор раздела флеш-памяти.[30] |
0xFEEDC0DE | 4276994270 | ("код подачи") используется в качестве шаблона заполнения ОС-9 Операционная система при инициализации его баран.[31] |
0xFEEDFACECAFEBEEF | 18369614221190020847 | («feed face cafe beef») - это магический номер, используемый для отправки в качестве пароля по последовательному каналу для спасения некоторых контроллеров, созданных NXP, от сбоев загрузки.[32][33][34] |
0xFFBADD11 | 4290436369 | ("Плохо DLL "): Использован Windows внутренне.[нужна цитата ] |
Альтернативные буквы
Многие компьютерные языки требуют, чтобы шестнадцатеричное число было помечено префиксом или суффиксом (или обоими), чтобы идентифицировать его как число. Иногда приставка или суффикс используются как часть слова.
- В Язык программирования C использует префикс «0x» для обозначения шестнадцатеричного числа, но «0x» обычно игнорируется, когда люди читают такие значения как слова. C также позволяет суффиксу L объявлять целое число как
длинный
, или LL, чтобы объявить его какдолго долго
, что позволяет записать "0xDEADCELL" (мертвая ячейка). В любом случае U может также появиться в суффиксе, чтобы объявить целое число какбеззнаковый
, что позволяет писать "0xFEEDBULL" (кормить быка). - В (не-Unix) Язык ассемблера Intel, шестнадцатеричные числа обозначаются суффиксом «h», что позволяет писать «0beach» (пляж). Обратите внимание, что числа в этой записи, начинающиеся с буквы, должны иметь префикс нуля, чтобы отличать их от имен переменных. Ассемблер в стиле Unix вместо этого использует соглашение о языке C (но ассемблеры не в стиле Unix также доступны в операционных системах x86 типа Unix).
- Visual Basic и все предыдущие версии Microsoft BASIC, такие как QuickBasic, GWBasic, BASICA и ColorBASIC, использовали префикс & H, например, «& HEADED» (заголовок) и «& HADC0FFEE» (был кофе).
- В Паскале и нескольких языки ассемблера (6502,6809, ...) шестнадцатеричные числа обозначаются префиксом "$". Это позволяет использовать слова, начинающиеся с буквы «S», например «$ EED» (семя).
- В Б3-34 программируемые калькуляторы использовался альтернативный шестнадцатеричный алфавит, в котором вместо латинских букв использовались символы «-», «L», «C», «Г», «E» и «» (пробел). Используя их, можно было отображать сообщения типа «EГГ0Г» (ошибка).
PlayStation 3 RSX
В аспектах обратной инженерии Sony PlayStation 3, было обнаружено, что ряд кодов hexspeak запускает, влияет или присутствует в аспектах связи с гипервизором PlayStation 3 и через него в связи с его графическим процессором, Синтезатор реальности RSX.[35]
Эти проекты в значительной степени родились из доморощенного PS3, работающего на PS3. Другое что позволило установить Linux, изначально с чрезвычайно ограниченным доступом к графическому процессору.
Код | Описание |
---|---|
0x1337BEEF , 0x1337F001 , 0x1337BEEF | Найдено как часть дескриптора RSX. |
0xF00DBEEF | Значение семафора RSX |
0x1337C0D3 и 0x1337BABE | Начните значение семафора и заполните его из системы.[36] |
Смотрите также
Рекомендации
- ^ "Архив мультизагрузочной рассылки".
- ^ «Характеристики мультизагрузки».
- ^ а б c d «Техническое примечание TN2151: Понимание и анализ отчетов о сбоях приложений iPhone OS». Архивировано из оригинал на 2012-07-05.
- ^ "Кто такой 0xabadbabe и почему?".
- ^ "Staging: hv: vmbus_drv: переместить содержимое hv.h в hyperv_vmbus.h".
- ^ "hv: изменить значение идентификатора гостя".
- ^ https://github.com/torvalds/linux/commit/83ba0c4f3f317270dae5597d8044b795d119914c
- ^ "Staging: hv: добавить виртуальную шину Hyper-V".
- ^ "Staging: hv: Удалите устаревший код xen и проверьте наличие Hyper-V".
- ^ а б https://developer.apple.com/library/ios/technotes/tn2151/_index.html
- ^ "Внутреннее устройство кучи отладки Win32 CRT".
- ^ «9фронтальная система».
- ^ "Почему Cafebabe". Artima.com. Получено 2009-10-01.
- ^ «Pack200: формат развертывания упакованных классов для приложений Java». Получено 2010-11-03.
- ^ «Еще одна документация Gamecube: глобалы Dolphin-OS».
- ^ "Wiibrew: карта памяти".
- ^ "0xdabbad00.com".
- ^ "Проверка вменяемости DEADBABE". Получено 2009-10-01.[постоянная мертвая ссылка ]
- ^ "Формат файла J2T".
- ^ "Формат файла J2L".
- ^ "Запись жаргонного файла для DEADBEEF". Catb.org. Получено 2009-10-01.
- ^ «Проверка ошибок 0xDEADDEAD: MANUALLY_INITIATED_CRASH, MSDN». msdn.microsoft.com. 2009-10-01. Архивировано из оригинал 2 октября 2009 г.. Получено 2009-10-13.
- ^ «Проверка ошибки 0xE2: MANUALLY_INITIATED_CRASH, MSDN». msdn.microsoft.com. 2009-10-01. Архивировано из оригинал 31 июля 2009 г.. Получено 2009-10-13.
- ^ "Строка 45 заголовка Opensolaris для 0xDEFEC8ED". src.opensolaris.org. Архивировано из оригинал на 2011-09-29. Получено 2011-07-12.
- ^ «Документы, поддерживаемые фильтром Office».
- ^ «Facebook бросает вызов самореференциальному IPv6». Получено 2017-10-21.
- ^ «Статья Technet для 0xFACEFEED». Support.microsoft.com. 2006-11-01. Получено 2009-10-01.
- ^ "Chromium Assertions.h строка 133". Получено 2014-03-27.
- ^ "включить / linux / reboot.h".
- ^ "OpenWrt-Devel: PATCH - добавить поддержку для Option GlobeSurfer 3". Архивировано из оригинал на 2016-03-29. Получено 2015-12-14.
- ^ "OS-9 для процессоров 68K OEM Руководство по установке".
- ^ «Примечание по приложению NXP: приложение модуля Qorivva Boot Assist» (PDF).
- ^ «Сообщество NXP: устройство с цензурой - пароль известен».
- ^ «Сообщество NXP: ошибка загрузчика RAppID».
- ^ "RSXFIFOCommands - PS3 Developer Wiki". psdev вики. 2014-05-20. Получено 2017-11-01.
- ^ "rpc3 / sys_rsx.cpp". RPCS3 на гитхабе. 2017-10-28. Получено 2017-11-01.