В веболомках (головоломках, использующим особенности интернет-технологий, знание языков программирования, форматов данных, отдельных программ и т.п.) могут применяться как чисто веб-задачи, так и просто задачки из серии занимательных головоломок, требующих знания из других областей - криптографии, математики, физики, химии, информатики, истории и т.п.
Ниже я опишу некоторые интересные трюки, используемые в таких задачках.
Римские числа записываются латинскими буквами.
Можно попробовать составить короткие слова или аббревиатуры из букв 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 |