Mimic — утилита для подмены похожих символов, делающая отладку кошмаром

25 октября 2015 года

В рамках проекта Mimic реализована утилита для замены символов из набора ASCII на схожие по начертанию символы из таблиц Unicode. Утилита воплощает идею, высказанную одним из разработчиков из компании Twitter, что замена в исходном тексте программы символа точки с запятой (;) на визуально идентичный символ вопроса в греческом алфавите (;) превращает отладку программы в кошмар из-за того, что компилятор начинает указывать на ошибки в, на первый взгляд, корректных участках кода.

Таблицы Unicode содержат множество омоглифов - похожих по начертанию символов. Подобные символы-двойники присутствуют для пробела, восклицательного знака, кавычек, запятых, тире, математических операций, некоторых цифр и различных букв. После обработки утилитой текста, он остаётся визуально идентичен исходному варианту, но на уровне кодов символов содержимое меняется. Кроме режима полной замены, утилитой поддерживается выборочная замена определённого символа и восстановление текста в исходный вид.

Кроме шуток над коллегами, замена символов может применяться для скрытия текста от автоматизированных систем разбора, механизмов цензурирования и поисковых систем. В том числе, подобная техника уже давно применяется для противостояния блокировщикам спама и для размещения информации, скрытой от индексации. Например, похожим образом производилось жульничество с заявками на госзакупки, в которых для невозможности поиска в реестре по ключевым словам использовались сходные по написанию русские и латинские буквы.

Дополнение: для Vim подготовлен плагин, подсвечивающий подмену символов в коде.

Источники

править


 
 
Creative Commons
Эта статья содержит материалы из статьи «Mimic — утилита для подмены похожих символов, делающая отладку кошмаром», опубликованной OpenNET и распространяющейся на условиях лицензии Creative Commons Attribution (CC BY) — указание автора, источник и лицензию.
 
Эта статья загружена автоматически ботом NewsBots в архив и ещё не проверялась редакторами Викиновостей.
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.

Комментарии

Викиновости и Wikimedia Foundation не несут ответственности за любые материалы и точки зрения, находящиеся на странице и в разделе комментариев.