Sztuczka JavaScript? W jaki sposób scribd utrudnia nawet kopiowanie i wklejanie tekstu

19

Ostatnio widziałem, że scribd bardzo utrudnia użytkownikom (użytkownikom darmowym) przeglądanie dokumentu przechowywanego na ich stronie. Nie ma możliwości wyszukiwania w dokumencie, nie mówiąc już o możliwości jego pobrania.

Za pomocą javascript ładują strony na żądanie w przeglądarce, więc funkcja „zapisz jako” przeglądarki niewiele pomaga.

Ku mojemu zdziwieniu zobaczyłem, że nawet kopiowanie / wklejanie tekstu kopiuje bełkot do schowka! Aby sprawdzić, co było nie tak, wyłączyłem JavaScript w przeglądarce, a następnie ponownie załadowałem ten sam dokument. Voila, widziałem bełkot. Wygląda więc na to, że javascript ze skryptu w jakiś sposób dekoduje bełkot, a następnie wyświetla go w przeglądarce.

Teraz moje pytanie brzmi: nawet po włączeniu javascript, a tekst jest poprawnie renderowany w przeglądarce, jeśli przejdę do obiektów DOM odpowiadających zaznaczonemu tekstowi, nadal widzę bełkotliwy tekst.

Więc teraz jestem zdezorientowany. Tekst jest wyświetlany użytkownikowi, ale obiekty DOM nadal zawierają bełkot. Pytanie brzmi: jakiego rodzaju haczyki / kod javascript używa strona, aby zachować bełkot w obiektach DOM i nadal renderować zdekodowany tekst?

Czy mogę uzyskać dostęp do zdekodowanego tekstu? Moim zamiarem nie jest inżynieria wsteczna algorytmu do dekodowania, ale zlokalizowanie miejsca przechowywania dekodowanego tekstu?

Przykładowy dokument to:

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

Zobacz, co się stanie, gdy włączysz / wyłączysz Javascript!

użytkownik2497064
źródło
To trochę proste. Stworzyli przeglądarkę pdf javascript. Mozilla zrobiła coś z Firefoksem. Ponieważ przeglądarka plików PDF nie jest faktycznie używana do wyświetlania treści, może kontrolować prawie każdy aspekt oglądania.
Ramhound,

Odpowiedzi:

15

Spójrz na font-familydla span. Używają niestandardowej czcionki (w tym przypadku ff6).

Muszą to zrobić, aby więcej dokumentów PDF było poprawnie wyświetlanych. Podobnie jak w dokumentach PDF, nie ma wymogu, aby tekst w dokumencie musiał używać standardowego zestawu znaków. Potrzebuje tylko takiego, który ma kod odwzorowujący glify we wbudowanej czcionce.

Dan D.
źródło
10

Jeśli spojrzysz na wyświetlany tekst w porównaniu do „bełkotu”, zobaczysz, że niektóre litery są takie same, a niektóre są zastąpione. Na przykład „Mltmrprfsm Jblbemr” to „Enterprise Manager”. Biorąc pod uwagę wystarczającą ilość tekstu, powinieneś być w stanie zbudować szybką tabelę tłumaczeń. Wiemy już, że M tłumaczy na E , L -> N , T , R i P są jasne, F -> R itp. Biorąc pod uwagę czas, pracę detektywistyczną i skromne umiejętności programistyczne, można przetłumaczyć cały dokument.

Oczywiście nie ma gwarancji, że następny dokument użyje tej samej ff6czcionki, o której wspomniał Dan D. , więc pobranie tej czcionki do użytku lokalnego powinno być następnym krokiem, jeśli chcesz zapisać tekst na później.

MattDMo
źródło
0

Możesz spróbować zrobić zrzut ekranu za pomocą narzędzia przycinania przeglądarki, a następnie użyć dowolnej z łatwo dostępnych witryn ocr online, aby przekonwertować go na tekst. To powinno cię załatwić.

guy841185
źródło