РАЗВЛЕЧЕНИЕ ДЛЯ 31337-ваяем |^|РЕ0БqА3о84тель теXта Alex Shark Спецвыпуск Xakep, номер #030, стр. 030-028-1 (qqqqqwww@e-mail.ru) Хочешь, чтобы твой ник запоминали и не путали с похожим? Или чтобы никто не читал то, что предназначено только тебе? Для решения этих совсем разных проблем тебе нужна всего одна вещь - онлайновый кодер. Дочитай статью до конца, и я уверен, что ты найдешь еще пару применений чисто для себя :). У тебя были случаи, когда заглядывают через плечо или с тупым вопросом "А че это ты читаешь?" лезут в твою личную переписку? Или стихи, которые ты пишешь свой девушке (ну бывает такое, весной же бушует острое нереспираторное заболевание), и ты никак не хочешь, чтобы их читал какой-нить отморозок. Для этого надо все кодить! А как известно, самое хакерское кодирование это крякозяблики. Но дешифровать в голове KOI в WIN достаточно проблематично, так что давай посмотрим на более приемлемые способы. Первый - это кодирование по аналогу. Его чаще всего используют для понтов, например, при Deface-операциях или для придания веса собственному нику, где-нибудь на CS сервере. Этим стилем написан подзаголовок статьи :). Когда-то, в довиндосовые времена, я пользовался этим для кодирования интересных рассказов и втихаря тащил их в школу. С первого взгляда никто не сможет сказать, что именно тут написано, но если знать принцип, то читается достаточно бегло. Можно печатать даже на единственном принтере у директора фирмы, рассказывая сказки про ассемблерный код и декомпилирование программы в уме, многие верят. Но как ты сам понимаешь, кодировать несколько страниц только для того, чтобы потом их декодировать и прочитать то, что и так уже прочитано, смысла нет. Поэтому мы будем кодировать не сами, у нас есть железная коробка с кремнием внутри, у нее частота большая, вот пусть она и думает. А поскольку это надо не только нам, мы сделаем страничку, на которой будет интерактивный кодер. Писать оного будем на перле. Если ломы ставить себе сервак, поищи в сети и найди халявного хостера с перлом, для тестов я пользовал hut.ru, но надолго там остаться не получилось. Перлодром Допустим, что у нас есть работоспособный перл или выход на сервак с перлом и нам надо просто написать программку. Для начала создай простой html-файлец, в котором будет форма запроса, то есть то, куда посетитель странички будет вводить свой первозданный текст. Кстати, можешь ради интереса его сохранить и посмотреть, что именно он перекодил :). Затем надо написать саму программу. Пример ты сейчас посмотришь, но помни - тираж журнала более 40000 екз. Так что лучше написать что-то свое. <html><head><title>Cool coder</title></head> <body><form method=post action=/cgi-bin/codeit.pl> Вводи текст тут.<br> <textarea name=text rows=15 cols=50><br> <input type=submit value=Go></form></body></html> Теперь давай подумаем, что во что будем кодить. Все, что нужно, - это найти совпадения в буквах, так, например, букву "а" можно поменять на A, @, a, 4. Букву "л" можно написать как JI или /\. Поскольку таких комбинаций может быть несколько, нужно писать кодировщик с "плавающими" таблицами. То есть прога сама должна выбрать случайную замену и подменить буковку. Давай напишем кодировщик отдельно, а таблицы кодировок будем хранить в отдельном файле, что придаст достаточно гибкости нашей проге. Для работы с таблицами есть в перле отличная штучка, которая зовется хэш, она позволяет создавать пары и не заботиться о поиске и размещении данных. Это мы и заюзаем для наших пока еще гуманных целей. Ответ пользователю будем выдавать прямо на экран прямым текстом, пусть с ним потом что хочет, то и делает. |