Как обнаружить модификацию текстового файла с целю искусственного повышения уникальности

За прошедшее время, благодаря прошлым статьям, получил достаточно много писем с просьбами «проверить текст на наличие чего-нибудь этакого», так как время на это у меня есть не всегда, начинаем потихоньку переходить к тому, как проверять тексты на наличие… Чего?

Прежде чем переходить к сути дела, предлагаю ознакомиться со сложившейся за это время номенклатурой. Слова антиплагиат и проверка на антиплагиат, как и обход антиплагиата все-таки не совсем верны. «Антиплагиат» — лишь нарицательное имя одной из систем. Да, она больше всего на слуху, благодаря тому, что «благословлена» официально. Однако, по сути, она не единственная, а тексты мы в ней проверяем на наличие заимствований, или, что лучше отражает суть — проводим проверку (текстов) на уникальность. В свою очередь, всякие хитрые приемы, которые позволяют обмануть различные системы проверки — это приемы, искусственно завышающие уникальность текста.

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

К тому же, я хочу воздержаться от экзотики в стиле «потрошим вордовский файл и смотрим, что там в XML», хотя сам, зачастую, действую именно так.

В общем, начнем мы с одного достаточно надежного метода, позволяющего обнаружить модификацию текстового файла, с помощью приема, который сейчас получил весьма широкое распространение. Это вариант, похожий на самый первый описанный мной, (именно поэтому, изначально, я и не стал описывать его отдельно). Суть его, коротко, заключается в том, что в файл внедряется фрагмент уникального текста, достаточно большой для того, чтобы процентное соотношение уникального текста в файле стало приемлемым. А если чуть подробнее — у нас есть текст, допустим, 10 000 символов, имеющий уникальность 50%. Т. е. Уникальны только 5000 символов, вторая же половина, еще 5000 знаков текста — не уникальны. Мы с вами берем уникальный текст объемом еще 15 000 символов и внедряем в файл таким образом, чтобы их не было видно, но они учитывались при проверке. В результате мы имеем 25 000 знаков, из которых не уникальны — 5000, то есть уже не 50, а 20 процентов…

Кстати, в качестве лирики…

Среди прочих за это время были письма от двух студентов, которые четно сознались, что купили свои работы. И сначала уникальность была прекрасная, а потом что-то пошло не так и результат стал ниже плинтуса, хотя они, по заверениям «ничего не делали». Студенты друг с другом не связаны, по крайней мере на первый взгляд, а истории одинаковые.  И в обоих случаях одинаковая причина — в качестве внедренного уникального текста в обоих работах были использованы тексты новостей (хотя, как правило для этого берут просто набор слов, несвязанный, был бы уникальный). Тот, кто хоть немного разбирается в том, как работают поисковики, и системы, проверяющие уникальность текста, уже поняли в чем суть: новости, взятые буквально в момент публикации, некоторое время давали хороший результат. Но как только тексты этих новостей попали в индексы поисковых систем, результат ожидаемо рухнул. Сложно сказать, было ли это сделано случайно или с каким-то умыслом, рассказали ли мне правду студенты, или их самих таким образом «подставили»… Но кто? Тот, кто писал работы? Определенно, если он обработал их с целью обмануть проверку на уникальность, то он их уже обманул, но заложив такую вот бомбу, такой товарищ, как мне кажется, ни в чем не выиграет. После того, как мне в руки попала еще пара текстов, «утяжеленных» именно новостями я об этом задумался еще сильнее. Уж не сервисы ли, предлагающие «обмануть антиплагиат» так себя ведут? Что бы клиент еще разок вернулся...

Как определить, есть ли в файле «спрятанный текст»?

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

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

Отсюда имеем первую примету того, что проверяемый вами файл обработан — если проверять файл целиком — имеем один результат, а если выделить текст и скопировать его в программу, выполняющую проверку — другой. Но как же, все-таки, твердо узнать — имеем ли мы дело с чистым файлом, или в нем скрыт кусок уникального текста?

Итак, начнем. Берем подозреваемый файл и открываем его в Word. Теперь копируем весь текст и вставляем его в «Блокнот», результат сохраняем в файл формата TXT, «Блокнот» закрываем.

Теперь у нас есть два файла исходный файл, я его у себя назвал «Образец 1» и созданный файл в формате TXT, я его назвал «Образец 2».

Запускаем Word, на панели инструментов переходим на вкладку «Рецензирование», на ленте ищем «Сравнить» и в выпадающем меню выбираем «Объединить».

Инструмент сравнения файлов в Word

В открывшемся окошке указываем исходный файл и получившийся ТХТ:

Инструмент сравнения файлов в Word

Вы увидите вот такое окно (ниже). Прошу отнестись с пониманием к замазанному тексту, все-таки это конкретный текст конкретного автора, так что показывать я его не хочу по этическим соображениям. Нас интересует колонка слева, озаглавленная «Исправления». Она может быть достаточно длинной, и отражает все различия между двумя файлами. Здесь будет отражено многое, ведь в формате TXT не сохраняется не только форматирование, но и таблицы, рисунки (такие элементы будут помечены: «удалено»).

Результат сравнения текстовых файлов в Word

Нажмите на изображение для увеличения

Нас интересуют большие массивы текста, которые «удалены». Видите, вот они, в самом низу колонки? Попробуем максимально увеличить этот текст.

Вот он при максимальном увеличении:

Скрытый текст при максимальном увеличении

На самом деле увеличивать его в самой колонке не обязательно, это я сделал для наглядной демонстрации. Его можно выделить и скопировать, например, в «Блокнот». Дальше берем из этого текста какое-нибудь приметное слово. У меня глаз зацепился за слово «Европарламент», которое вряд ли могло бы встретиться в исходном тексте (это была статья педагогический тематики).  Открываю исходный файл в Word и вбиваю это слово в поиск:

Результаты поиска в Word

Наблюдаем интересный эффект — слово в тексте есть, поиском оно нашлось, но вот ГДЕ оно — Word показать не может.

В довершение, для полноты картины, давайте все-таки заглянем в XML. Для этого я меняю расширение файла DOCX на ZIP и разархивирую его как обычный архив. Вот что имеется внутри:

Нас интересует файл «document.xml», открываем его каким-нибудь текстовым редактором или вообще браузером, и используем наш «якорь» в виде слова «Европарламент», которое, разумеется, раз и находится:

Внедренный текст в XML

Причем находим мы его не просто так, а в контексте целого куска текста, которого почему-то совсем нет, если открыть текстовый файл в Word. Следом идет еще несколько кусков текста… Я думаю повествование на этом можно заканчивать — искомый спрятанный кусок «балластного» текста, повышающего общую уникальность текста — найден.

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

PS. Ах да, забыл, традиционное для статей этой серии послесловие. Я не буду рассказывать вам, как обработать текст — не пишите ни в комментарии ни в почту. Если уж очень надо — гуглите и обрящите. Все комментарии с рекламой сервисов, «обрабатывающих» тексты, или «я вот тут обработал и препод не нашел»  (я не препод, я нахожу ВСЁ) жестоко выпиливаются.

Добавить комментарий

banner