Truco Javascript? ¿Cómo hace scribd que sea difícil incluso copiar y pegar texto?


19

Últimamente, he visto que scribd hace que sea muy difícil para los usuarios (usuarios gratuitos) navegar a través de un documento alojado en su sitio. No existe la posibilidad de buscar dentro de un documento, y mucho menos poder descargar el mismo.

Al usar JavaScript, cargan páginas a pedido en el navegador, por lo que la función "guardar como" del navegador no ayuda mucho.

Para mi sorpresa, ¡vi que incluso copiar / pegar copias de texto galimatías en el portapapeles! Para verificar qué estaba mal, apagué javascript en el navegador y luego cargué el mismo documento nuevamente. Voila, vi el galimatías. Y así, parece que el javascript de scribd de alguna manera decodifica el texto galimatías y luego lo muestra en el navegador.

Ahora, mi pregunta es, incluso después de que javascript esté habilitado, y el texto se represente correctamente en el navegador, si voy y miro los objetos DOM correspondientes al texto que selecciono, aún veo el texto galimatías.

Entonces, ahora estoy confundido. El texto se muestra bien al usuario, pero los objetos DOM todavía contienen galimatías. Entonces, la pregunta es, ¿qué tipo de ganchos / código javascript está usando el sitio, para poder retener el galimatías en los objetos DOM y aún representar el texto decodificado?

¿Hay alguna manera de acceder al texto decodificado? Mi intención no es aplicar ingeniería inversa al algoritmo para decodificar, sino localizar dónde se almacena el texto decodificado.

El documento de ejemplo es:

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

¡Vea lo que sucede cuando activa / desactiva Javascript!


Es algo simple. Crearon un visor de pdf de JavaScript. Mozilla hizo algo con Firefox. Como su visor de PDF no se está utilizando para mostrar el contenido, puede controlar casi todos los aspectos de la experiencia de visualización.
Ramhound

Respuestas:


15

Mira el font-familypara el span. Usan una fuente personalizada (en este caso ff6).

Deben hacer esto para que se muestren más documentos PDF correctamente. Al igual que en los documentos PDF, no es necesario que el texto del documento use un juego de caracteres estándar. Solo necesita usar uno que tenga un código que se asigne a los glifos en la fuente incrustada.


10

Si observa el texto que se muestra frente al "galimatías", puede ver que algunas de las letras son iguales, mientras que algunas de las letras se sustituyen. Por ejemplo, "Mltmrprfsm Jblbemr" es "Enterprise Manager". Con suficiente texto, debería poder construir una tabla de traducción rápida. Ya sabemos que M se traduce en E , L -> N , T , R y P son claros, F -> R , etc. Dado el tiempo, el trabajo de detective y las habilidades de programación modestas, uno podría traducir todo el documento.

Por supuesto, no hay garantía de que el próximo documento use la misma ff6fuente que Dan D. mencionó , por lo que tomar esa fuente para uso local debería ser su próximo paso si desea guardar el texto para más adelante.


0

Puede intentar capturar una captura de pantalla utilizando la herramienta de recorte del navegador y luego usar cualquiera de los sitios ocr en línea disponibles para convertirlo en texto. Eso debería resolverlo.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.