Просмотр всех нажатий клавиш в Google Docs

С мая 2010 года Google Docs ввёл новый формат документов, который сохраняет подробную историю версий. Вы можете открутить действия назад, словно в замедленном фильме. Текстовый редактор сохраняет время нажатия клавиш с точностью до микросекунды.Журналист и хакер Джеймс Сомерс сумел взломать внутренний формат Google Docs и извлечь метки времени для каждого нажатия клавиш. Таким образом, вы можете посмотреть историю создания документа от начала и до конца. Более того, кейлоггер Google Docs очень продвинутый: он присваивает уникальные идентификаторы символам, так что знает даже, откуда и куда скопирована каждая буква!

Самое главное, что для вас открыта история нажатия клавиш и чужих документов, которыми с вами поделились коллеги для совместной работы. Это можно назвать неожиданным поведением программы. Если я создаю документ, а потом открываю к нему совместный доступ, я не могу ожидать, что все коллеги увидят полную историю, как создавался этот текст, какие слова исправлялись и какие предложения удалялись, прежде чем документ выложили на всеобщее обозрение.Джеймс Сомерс уже несколько лет занимается созданием текстовых редакторов. Введение нового формата Google Docs в 2010 году стало для него личным вызовом, и он приступил к тщательному изучению, написал расширение к Chrome для перехвата нажатий клавиш, создал первую версию «плеера» с историей правок.

Прорыв случился в тот момент, когда Джеймс заметил на вкладке Network в Инспекторе Chrome, что после каждого нажатия клавиши Chrome генерирует вызов save.

b0e56a6faac74b5d8c3e8e3654ce374f.png

Например, при наборе точки в конце предложения отправляется следующая информация:

543b15db757f41c6994f746c850a2f6d.png

Эти данные сохраняются в истории изменений, вместе с метками времени. Полную историю версий документа Google Docs можно получить, если зайти в меню «Просмотреть историю изменений» (Revision History). Она вызывается по URL примерно такого вида:

https://docs.google.com/document/d/#{docid}/revisions/load? id=#{docid}&start=1330&end=1341

Достаточно всего лишь изменить параметры start и end в этом URL, чтобы скачать полную историю изменений документа. Первым ставим единицу, а последнее число подбираем методом тыка двоичным поиском.

Для генерации «видеороликов» с историей нажатий клавиш Джеймс Сомерс запустил сайт Draftback.com, который работает через Google API. Загрузив туда свои (или чужие) документы, можно посмотреть, как они создавались.

f5d4b5d5db614d3eaa65134447cca0a8.png

Draftback автоматически генерирует график с частотностью правок по времени (вверху).

Соммерс говорит, что большинство его коллег были неприятно удивлены, когда он им рассказал о такой «побочной» функциональности Google Docs. Хотя, это вполне логичная функция: как ещё сохранять историю правок, если не с помощью кейлоггера?

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

© Habrahabr.ru