• Обход антиплагиата «со спрятанными буквами» и его обнаружение

    Я уже аж дважды писал про попытки обхода системы «Антиплагиат» вообще, и других инструментов для оценки степени оригинальности текста, в частности (тем кто не читал — и ).

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


    И вот, я столкнулся, наверное, с одним из идеальных способов обхода. Как и все идеальное он предельно прост, а обнаружить его достаточно сложно, особенно если текст не вычитывается, а просто просматривается «по диагонали», или даже не просматривается вовсе.

    Действовать с вами будем на конкретном примере. Вот я иду в интернет, и нахожу какой-нибудь кусочек текста. Не ходя далеко, я взял кусочек из прошлой статьи этого цикла.

    Для проверки я буду использовать не «традиционный» antiplagiat.ru, а утилиту, созданную на бирже копирайтинга ETXT (кстати, в последнее время наблюдаю повышенный интерес со стороны ВУЗов к этой программке. Она того стоит, поверьте).

    Что же она нам покажет?

    Результат ожидаемый – уникальность текста – 0%. Ну что же, копирую тот же фрагмент текста в Word и обрабатываю его нужным способом.

    Смотрите, повозившись с текстом всего пару минут, я вдруг повысил его оригинальность аж на 39%! И все это – без всякого специального ПО.

    Что было сделано? Я просто беру текст и начинаю превращать одни слова в другие. «Во» в «вот», «не» в «нет», слово «вопрос» я превратил в «вопросы». И т.п. вот на картинке ниже красным показаны подставленные буквы:


    Итак, мы с Вами видим текст, язык которого в Word указан как русский, никаких лишних подчеркиваний нет. Даже если проверяющий догадается выполнить цепочку действий «выделить все – размер шрифта 12 – цвет шрифта авто», при достаточном объеме текста, шансы того, что сделанные модификации просто не заметят близки к 100%. Ну а даже если и заметят, то, если модификации делались разумно, можно и опечатками это назвать.

    Конечно, такая обработка текста – это большая работа. Это в том случае, если Вы не знакомы с макросами. Если знакомы, то написание макроса, который обработает весь текст за секунды, займет минут 20.

    Как видите, практически идеальный вариант. Сам столкнувшись с такой модификацией впервые, я «разоблачил» ее лишь случайно. Удивился элегантности решения, и стал думать над тем, как же быстро и просто проверить текст на наличие подобных модификаций?

    Просто выровнять размер шрифта во всем тексте и установить один цвет – явно не то. Потом придется вычитывать весь текст.

    Искать в тексте буквы, выделенные белым? Кажется, это очевидное решение, на самом деле оно совершенно не годится. Почему? Потому, что будучи хитрым, я делаю текст не белым, а скажем, выставляя значение по RGB 255-255-254. Для глаза человека это белый цвет. Для машины нет. А проверять сразу много цветов – не выход.

    Верное же решение состоит в том, что надо убрать весь текст, в котором цвет шрифта – «Авто». И посмотреть, что же там останется. Обработаем таким образом наш тестовый кусочек. Открываем инструмент поиска и замены, и выставляем такие настройки:

    Т.е. весь текст с цветом «Авто» мы меняем на букву икс. Я не знаю почему, но, если менять этот текст на пустоту, ничего не выходит. Надо менять на что-то, обратите на это внимание.

    В результате обработки нашего текста мы получили набор из кучки букв X:

    Ну а теперь сделаем последний шаг – выделим все, и установим размер шрифта (какой-нибудь вменяемый, 12 или больше) и цвет. Если после этого ничего кроме наших букв икс не появилось – значит, текст чист. Ну а если появилось – значит не очень. В нашем примере получилось вот так – явный признак того, что «дело пахнет керосином».

    В заключении добавлю, что можно написать макрос, который будет выполнять эту проверку нажатием одной кнопочки. Вот он:

    Sub проверка()

    ‘ проверка Макрос


    Selection.Find.ClearFormatting
    Selection.Find.Font.Color = wdColorAutomatic
    Selection.Find.Replacement.ClearFormatting
    With Selection.Find
    .Text = «»
    .Replacement.Text = «x»
    .Forward = True
    .Wrap = wdFindContinue
    .Format = True
    .MatchCase = False
    .MatchWholeWord = False
    .MatchWildcards = False
    .MatchSoundsLike = False
    .MatchAllWordForms = False
    End With
    Selection.Find.Execute Replace:=wdReplaceAll
    Selection.WholeStory
    With Selection.Font
    .Name = «+Основной текст»
    .Size = 12
    .Bold = False
    .Italic = False
    .Underline = wdUnderlineNone
    .UnderlineColor = wdColorAutomatic
    .StrikeThrough = False
    .DoubleStrikeThrough = False
    .Outline = False
    .Emboss = False
    .Shadow = False
    .Hidden = False
    .SmallCaps = False
    .AllCaps = False
    .Color = -587137025
    .Engrave = False
    .Superscript = False
    .Subscript = False
    .Spacing = 0
    .Scaling = 100
    .Position = 0
    .Kerning = 0
    .Animation = wdAnimationNone
    .Ligatures = wdLigaturesNone
    .NumberSpacing = wdNumberSpacingDefault
    .NumberForm = wdNumberFormDefault
    .StylisticSet = wdStylisticSetDefault
    .ContextualAlternates = 0
    End With
    End Sub

    Пожалуй, на этот раз все.

    В конце, как водится, обычный после статей этой тематики пассаж. Нет, я не считаю, что публиковать это вредно – студенты знают это и без меня. Я же, скорее, рассказываю, как найти, а не как сделать.

    Результат же сложившейся ситуации – бездумное требование 100% уникальности в студенческих работах. Зачем он там? И как его добиться «легально»?

    Желающие найти в текстах подобного рода модификации получили здесь рецепт того, как это можно сделать. Те, кто такую проверку текстов не делают — пеняют на себя.