В веболомках (головоломках, использующим особенности интернет-технологий, знание языков программирования, форматов данных, отдельных программ и т.п.) могут применяться как чисто веб-задачи, так и просто задачки из серии занимательных головоломок, требующих знания из других областей - криптографии, математики, физики, химии, информатики, истории и т.п.
Ниже я опишу некоторые интересные трюки, используемые в таких задачках.
Римские числа записываются латинскими буквами.
Можно попробовать составить короткие слова или аббревиатуры из букв I, X, L, C, D, M, - типа «CD», «MIX». Тогда не сразу придёт в голову, что это запись римскими цифрами.
Если посмотреть на Таблицу Менделеева, то можно увидеть, что химические элементы «зашифрованы» буквами. Из них можно составлять слова, за которыми будут прятаться числа - номера химических элементов. Например, за словом RuSLaN спрятались элементы Ru (рутений, 44), S (сера, 16), La (лантан, 57) и N (азот, 7). Получаем RuSLaN = 44,16,57,7.
Можно даже загадать телефон:
На рисунке изображается эндшпиль шахматной партии с заданием, например, белые начинают и дают мат в два хода. Нужно записать последовательность ходов в шахматной нотации.
Например, для партии, изображённой на рисунке, последовательность ходов такая d8d2g2f3b1d3. А классический детский мат из начальной позиции запишется вот так: e2e4e7e5f1c4b8c6d1h5g8f6h5f7.
Можно зашифровать число, нарисовав блок-схему алгоритма его вычисления, как сделали вот тут.
На блок-схеме изображён алгоритм вычисления факториала 10! = 3628800
Буквы можно загадывать цифрами, а цифры - буквами. Цифровой последовательности будет соответствовать много различных буквенных комбинаций, но несколько осмысленных слов из одного и того же числа вряд ли сложится много, поэтому можно использовать и обратное кодирование - из цифр в буквы.
На ноутбучной клавиатуре, в отличие от полноразмерной, обычно отсутствует дополнительная цифровая клавиатура, но её можно включить специальной кнопкой NumLock (Fn + замочек с цифрой 1). И самое интересное, что на нескольких буквенных клавишах дополнительно нанесены цифры. Опять же, как и в предыдущем случае, можно цифрами загадывать буквы, а буквами - цифры. Здесь уже кодирование будет однозначным.
Графические и звуковые файлы помимо самого изображения или звука могут содержать дополнительные метаданные, в которых обычно указывается некая текстовая информация. Например, описание, автор, место съёмки, наименование программы, в которой сделан файл и т.п. Например, EXIF в графических файлах, ID3 - в звуковых и т.п.
EXIF (англ. Exchangeable Image File Format) — стандарт, позволяющий добавлять к изображениям и прочим медиафайлам дополнительную информацию (метаданные), комментирующую этот файл, описывающий условия и способы его получения, авторство и т.п. Получил широкое распространение в связи с появлением цифровых фотокамер.
Прочитать/обработать эти параметры можно в программах просмотра изображений (фотоорганайзерах), графических программах и специальных программах для работы с метаданными.
ID3 (от англ. Identify an MP3) — формат метаданных, наиболее часто используемый в звуковых файлах в формате MP3. В ID3 содержатся данные о названии трека, альбома, имени исполнителя и т.д., которые используются медиаплеерами и другими программами, а также аппаратными проигрывателями для отображения информации о файле и автоматического упорядочивания аудиоколлекции.
Существует две несовместимых версии ID3: ID3v1 и ID3v2.
В ID3-тэгах можно даже текст песни хранить размером порядка 5кб.
Очень часто в этих полях прячут какие-то ключевые слова и подсказки. Можно просто вставить в одно из полей какое-то секретное слово, а можно, например, вставить геотэг. И чтобы понять, что за слово спрятано, нужно по этим координатам вычислить место, ну а далее уже от исходить из того, что в этом месте находится – название населённого пункта, улицы, какого-то объекта и т.п.
Некоторые особо рьяные головоломщики кодируют архив в base64 или в UUE, и уже эту информацию вставляют в метаданные, то есть это своего рода стеганография. Попробуй догадайся, что внутри обычного JPG или MP3 лежит бинарный архив.
Цвета в html-коде принято задавать в шестнадцатеричном виде в формате RGB (R-красный, G-зелёный, B-синий). Например, чёрный цвет - это #000000 или #000 или rgb(0,0,0). Хотя применяют и цветовую модель HSL, в которой цветовыми координатами вместо RGB являются тон (Hue), насыщенность (Saturation) и светлота (Lightness).
А теперь о том, как это можно применять в веболомках.
Цвета в RGB-кодировке используют шестнадцатеричные цифры - это 0123456789ABCDEF. Можно из этих цифр составлять слова. Некоторые цифры похожи на буквы, поэтому можно использовать «хакерские» LEET-преобразования и получать слова. Например:
и даже составлять из них предложения.
А ещё вот такой вариант:
У некоторых цветов есть зарезервированные постоянные названия, которые можно использовать вместо RGB-кодов. Так проще. Ниже в табличке все такие цвета, у которых есть названия. Соответственно, если в веболомке встречается что-то разноцветное, то можно посмотреть, что за цвета, и какие слова используются – возможно, в этих словах есть что-то полезное.
Например, дана картинка rgb.png, на которой нарисована шоколадка. Название файла как бы намекает на то, что надо узнать цвет. Можно, конечно, попытаться узнать, какого цвета шоколадка, но можно посмотреть в таблицу. Оказывается, есть такой цвет Chocolate #D2691E. Возможно, D2691E и будет искомым ответом.
Или вот, например, картинка, на которой разноцветные буквы. Если в графическом редакторе посмотреть коды цветов и найти им соответствия в таблице ниже, то получим:
Ну, короче, вы поняли :)
| Названия HTML-цветов | R G B | |
|---|---|---|
| Hex | Dec | |
| Розовые | ||
| Pink | FFC0CB | 255 192 203 |
| LightPink | FFB6C1 | 255 182 193 |
| HotPink | FF69B4 | 255 105 180 |
| DeepPink | FF1493 | 255 20 147 |
| PaleVioletRed | DB7093 | 219 112 147 |
| MediumVioletRed | C71585 | 199 21 133 |
| Красные | ||
| LightSalmon | FFA07A | 255 160 122 |
| Salmon | FA8072 | 250 128 114 |
| DarkSalmon | E9967A | 233 150 122 |
| LightCoral | F08080 | 240 128 128 |
| IndianRed | CD5C5C | 205 92 92 |
| Crimson | DC143C | 220 20 60 |
| FireBrick | B22222 | 178 34 34 |
| DarkRed | 8B0000 | 139 0 0 |
| Red | FF0000 | 255 0 0 |
| Оранжевые | ||
| OrangeRed | FF4500 | 255 69 0 |
| Tomato | FF6347 | 255 99 71 |
| Coral | FF7F50 | 255 127 80 |
| DarkOrange | FF8C00 | 255 140 0 |
| Orange | FFA500 | 255 165 0 |
| Жёлтые | ||
| Yellow | FFFF00 | 255 255 0 |
| LightYellow | FFFFE0 | 255 255 224 |
| LemonChiffon | FFFACD | 255 250 205 |
| LightGoldenrodYellow | FAFAD2 | 250 250 210 |
| PapayaWhip | FFEFD5 | 255 239 213 |
| Moccasin | FFE4B5 | 255 228 181 |
| PeachPuff | FFDAB9 | 255 218 185 |
| PaleGoldenrod | EEE8AA | 238 232 170 |
| Khaki | F0E68C | 240 230 140 |
| DarkKhaki | BDB76B | 189 183 107 |
| Gold | FFD700 | 255 215 0 |
| Коричневые | ||
| Cornsilk | FFF8DC | 255 248 220 |
| BlanchedAlmond | FFEBCD | 255 235 205 |
| Bisque | FFE4C4 | 255 228 196 |
| NavajoWhite | FFDEAD | 255 222 173 |
| Wheat | F5DEB3 | 245 222 179 |
| BurlyWood | DEB8 87 | 222 184 135 |
| Tan | D2B48C | 210 180 140 |
| RosyBrown | BC8F8F | 188 143 143 |
| SandyBrown | F4A460 | 244 164 96 |
| Goldenrod | DAA520 | 218 165 32 |
| DarkGoldenrod | B8860B | 184 134 11 |
| Peru | CD853F | 205 133 63 |
| Chocolate | D2691E | 210 105 30 |
| SaddleBrown | 8B4513 | 139 69 19 |
| Sienna | A0522D | 160 82 45 |
| Brown | A52A2A | 165 42 42 |
| Maroon | 800000 | 128 0 0 |
| Зелёные | ||
| DarkOliveGreen | 556B2F | 85 107 47 |
| Olive | 808000 | 128 128 0 |
| OliveDrab | 6B8E23 | 107 142 35 |
| YellowGreen | 9ACD32 | 154 205 50 |
| LimeGreen | 32CD32 | 50 205 50 |
| Lime | 00FF00 | 0 255 0 |
| LawnGreen | 7CFC00 | 124 252 0 |
| Chartreuse | 7FFF00 | 127 255 0 |
| GreenYellow | ADFF2F | 173 255 47 |
| SpringGreen | 00FF7F | 0 255 127 |
| MediumSpringGreen | 00FA9A | 0 250 154 |
| LightGreen | 90EE90 | 144 238 144 |
| PaleGreen | 98FB98 | 152 251 152 |
| DarkSeaGreen | 8F BC 8F | 143 188 143 |
| MediumAquamarine | 66CDAA | 102 205 170 |
| MediumSeaGreen | 3CB371 | 60 179 113 |
| SeaGreen | 2E8B57 | 46 139 87 |
| ForestGreen | 228B22 | 34 139 34 |
| Green | 008000 | 0 128 0 |
| DarkGreen | 006400 | 0 100 0 |
| Голубые | ||
| Aqua | 00FFFF | 0 255 255 |
| Cyan | 00FFFF | 0 255 255 |
| LightCyan | E0FFFF | 224 255 255 |
| PaleTurquoise | AFEEEE | 175 238 238 |
| Aquamarine | 7FFFD4 | 127 255 212 |
| Turquoise | 40E0D0 | 64 224 208 |
| MediumTurquoise | 48D1CC | 72 209 204 |
| DarkTurquoise | 00CED1 | 0 206 209 |
| LightSeaGreen | 20B2AA | 32 178 170 |
| CadetBlue | 5F9EA0 | 95 158 160 |
| DarkCyan | 008B8B | 0 139 139 |
| Teal | 008080 | 0 128 128 |
| Синие | ||
| LightSteelBlue | B0C4DE | 176 196 222 |
| PowderBlue | B0E0E6 | 176 224 230 |
| LightBlue | ADD8E6 | 173 216 230 |
| SkyBlue | 87CEEB | 135 206 235 |
| LightSkyBlue | 87CEFA | 135 206 250 |
| DeepSkyBlue | 00BFFF | 0 191 255 |
| DodgerBlue | 1E90FF | 30 144 255 |
| CornflowerBlue | 6495ED | 100 149 237 |
| SteelBlue | 4682B4 | 70 130 180 |
| RoyalBlue | 4169E1 | 65 105 225 |
| Blue | 0000FF | 0 0 255 |
| MediumBlue | 0000CD | 0 0 205 |
| DarkBlue | 00008B | 0 0 139 |
| Navy | 000080 | 0 0 128 |
| MidnightBlue | 191970 | 25 25 112 |
| Фиолетовые | ||
| Lavender | E6E6FA | 230 230 250 |
| Thistle | D8BFD8 | 216 191 216 |
| Plum | DDA0DD | 221 160 221 |
| Violet | EE82EE | 238 130 238 |
| Orchid | DA70D6 | 218 112 214 |
| Fuchsia | FF00FF | 255 0 255 |
| Magenta | FF00FF | 255 0 255 |
| MediumOrchid | BA55D3 | 186 85 211 |
| MediumPurple | 9370DB | 147 112 219 |
| BlueViolet | 8A2BE2 | 138 43 226 |
| DarkViolet | 9400D3 | 148 0 211 |
| DarkOrchid | 9932CC | 153 50 204 |
| DarkMagenta | 8B008B | 139 0 139 |
| Purple | 800080 | 128 0 128 |
| Indigo | 4B0082 | 75 0 130 |
| DarkSlateBlue | 483D8B | 72 61 139 |
| SlateBlue | 6A5ACD | 106 90 205 |
| MediumSlateBlue | 7B68EE | 123 104 238 |
| Белые | ||
| White | FFFFFF | 255 255 255 |
| Snow | FFFAFA | 255 250 250 |
| Honeydew | F0FFF0 | 240 255 240 |
| MintCream | F5FFFA | 245 255 250 |
| Azure | F0FFFF | 240 255 255 |
| AliceBlue | F0F8FF | 240 248 255 |
| GhostWhite | F8F8FF | 248 248 255 |
| WhiteSmoke | F5F5F5 | 245 245 245 |
| Seashell | FFF5EE | 255 245 238 |
| Beige | F5F5DC | 245 245 220 |
| OldLace | FDF5E6 | 253 245 230 |
| FloralWhite | FFFAF0 | 255 250 240 |
| Ivory | FFFFF0 | 255 255 240 |
| AntiqueWhite | FAEBD7 | 250 235 215 |
| Linen | FAF0E6 | 250 240 230 |
| LavenderBlush | FFF0F5 | 255 240 245 |
| MistyRose | FFE4E1 | 255 228 225 |
| Серые и чёрные | ||
| Gainsboro | DCDCDC | 220 220 220 |
| LightGray | D3D3D3 | 211 211 211 |
| Silver | C0C0C0 | 192 192 192 |
| DarkGray | A9A9A9 | 169 169 169 |
| Gray | 808080 | 128 128 128 |
| DimGray | 696969 | 105 105 105 |
| LightSlateGray | 778899 | 119 136 153 |
| SlateGray | 708090 | 112 128 144 |
| DarkSlateGray | 2F4F4F | 47 79 79 |
| Black | 000000 | 0 0 0 |