Трюк с JavaScript? Как scribd затрудняет даже копирование и вставку текста

19

В последнее время я видел, что scribd очень усложняет пользователям (свободным пользователям) просмотр документа, размещенного на их сайте. Нет возможности поиска в документе, не говоря уже о возможности загрузить его.

Используя javascript, они загружают страницы по требованию в браузер, поэтому функция «сохранить как» в браузере мало помогает.

К моему изумлению, я увидел, что даже копирование / вставка текста копирует бред в буфер обмена! Чтобы проверить, в чем дело, я отключил JavaScript в браузере, а затем снова загрузил тот же документ. Вуаля, я видел бред. Итак, похоже, что javascript от scribd каким-то образом декодирует бессмысленный текст и затем отображает его в браузере.

Теперь мой вопрос: даже после включения javascript и правильного отображения текста в браузере, если я перехожу к объектам DOM, соответствующим выбранному тексту, я все равно вижу бессмысленный текст.

Итак, теперь я в замешательстве. Текст отображается правильно для пользователя, но объекты DOM по-прежнему содержат бред. Таким образом, вопрос в том, какой тип javascript-хуков / кода использует сайт, чтобы иметь возможность сохранить тарабарщину в объектах DOM и по-прежнему отображать декодированный текст?

Есть ли способ получить доступ к декодированному тексту? Мое намерение состоит не в том, чтобы перепроектировать алгоритм декодирования, а в том, чтобы найти, где хранится декодированный текст?

Пример документа:

http://www.scribd.com/doc/143886351/OCP-Upgrade-to-Oracle-Database-12c-Student-Guide-vol-1-Exam-1Z0-060

Посмотрите, что происходит, когда вы включаете / выключаете Javascript!

user2497064
источник
Это просто. Они создали Javascript PDF Viewer. Mozilla что-то сделала с Firefox. Поскольку ваш просмотрщик PDF фактически не используется для отображения контента, он может контролировать практически все аспекты процесса просмотра.
Ramhound

Ответы:

15

Посмотрите на font-familyдля span. Они используют собственный шрифт (в этом случае ff6).

Они должны сделать это, чтобы больше документов PDF отображалось правильно. Как и в документах PDF, не требуется, чтобы в тексте документа использовался стандартный набор символов. Нужно использовать только тот, который имеет код, который сопоставляется с символами во встроенном шрифте.

Дэн Д.
источник
10

Если вы посмотрите на отображаемый текст по сравнению с «бредом», вы увидите, что некоторые буквы одинаковы, а некоторые заменены. Например, «Mltmrprfsm Jblbemr» - это «Менеджер предприятия». Имея достаточно текста, вы сможете составить таблицу быстрого перевода. Мы уже знаем, что M переводится как E , L -> N , T , R и P - ясно, F -> R и т. Д. Учитывая некоторое время, детективную работу и скромные навыки программирования, можно перевести весь документ.

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

MattDMo
источник
0

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

guy841185
источник