¿Cómo recupero un formulario en Firefox * sin * instalar un complemento? [duplicar]

33

Posible duplicado:
cómo recuperar información de formulario para una página web en Firefox

Escribí un par de párrafos en un panel de discusión, pero cuando hice clic en el botón de enviar, el sitio estaba en mantenimiento (no) programado, y el botón de retroceso decidió actualizar la página, enviando mis párrafos al olvido.

Una búsqueda rápida en la web reveló que Lazarus proporciona recuperación de formularios para Firefox. Sin embargo, la instalación de un complemento requiere reiniciar Firefox, e incluso después de reiniciar Firefox (lo que aún no he hecho), Lazarus no puede recuperar formularios que aún no ha respaldado.

Ahora que el caballo está fuera del establo, quiero hacer lo imposible: restaurar parte o la totalidad del texto que escribí, sin reiniciar mi navegador.


Editar : debería aclarar. Lazarus es una solución maravillosa para prevenir la pérdida futura de datos de formularios. Esta pregunta es para las personas que ya se han alejado de su forma y han perdido su contenido, pero esperan que haya alguna forma de salvar la situación. Mi solución fue obtener un volcado del núcleo del proceso y examinarlo, pero podría haber una forma simple de hacerlo (por ejemplo, hacer que Firefox cargue la versión en caché de la página anterior). Por lo tanto, las soluciones que solo resuelven el problema en el futuro, sin abordar el presente, están fuera de tema en esta pregunta.

Joey Adams
fuente
1
Creo que has respondido tu propia pregunta aquí ...
John T
2
@ John T: De hecho. Solo estoy creando forraje de Google para otras personas con el mismo problema, pero si alguien tiene mejores sugerencias, son bienvenidas.
Joey Adams
8
Este no es un duplicado exacto. Las respuestas principales de la pregunta referenciada requieren la instalación de un complemento, que no ayuda al usuario si ya perdió el formulario.
Joey Adams
Me he encontrado con la misma situación. Una solución sería muy buena. Incluso contra la pérdida futura de datos de formularios , también estoy buscando una solución. Lázaro es prometedor, pero tiene la ligera debilidad de no trabajar en absoluto.
Nicolas Barbulesco
1
superuser.com/questions/512669/… es relevante y me proporcionó una solución de trabajo a través de la técnica de herramientas de desarrollador web.
pbhj

Respuestas:

57

¡No reinicie su navegador ni presione el botón Atrás!

En Linux:

Esta solución es impredecible y funciona en Linux. En resumen: descargue la memoria del proceso de Firefox y busque fragmentos de su texto. Es feo, pero es tu último recurso.

Primero, descargue el núcleo utilizando la gcoreutilidad, que requiere la instalación de gdb (el depurador GNU):

$ ps -e | grep firefox
 7089 ?        00:02:23 firefox
$ gcore 7089
[New Thread 0xa8ffeb70 (LWP 8924)]
[New Thread 0xb25feb70 (LWP 8531)]
[New Thread 0x9d7feb70 (LWP 8527)]
... snip ...
[New Thread 0xb5ffeb70 (LWP 7099)]
[New Thread 0xb67ffb70 (LWP 7098)]
[New Thread 0xb72f8b70 (LWP 7097)]
Saved corefile core.7089

Tenga en cuenta que un volcado de núcleo puede tomar varios cientos de megabytes de espacio en disco.

Si tuvo éxito, ahora puede respirar aliviado. Si su texto permaneció en la memoria por casualidad, se ha capturado en el volcado del núcleo.

Ahora, trate de recordar una frase de su ensayo (por ejemplo, "un efecto profundo"), y use greppara ver si está presente en el documento:

$ grep 'a profound effect' core.7089 
Binary file core.7089 matches

Si obtienes un "archivo binario ... coincide", ¡está ahí! Si no, prueba más frases. Si todos sus grepintentos producen resultados vacíos, entonces su ensayo probablemente haya desaparecido para siempre, y no hay nada que pueda hacer al respecto. (Puedes intentarlo grep -R 'a profound effect' ~/.mozilla, pero dudo que funcione)

Suponiendo que obtenga una coincidencia, la siguiente tarea será cortar fragmentos del volcado de núcleo que contiene el texto que está buscando y usar lesspara mirarlo visualmente:

$ grep -B 20 -A 20 -a 'a profound effect' core.7089 > /tmp/out
$ less /tmp/out

(Podrías omitir la primera línea y solo decir less core.7089, pero descubrí que lesstiende a explotar en el uso de memoria cuando buscas en un archivo binario tan grande).

Ahora, escriba /a profound effect, presione enter, espere y avance página hasta que vea algo reconocible:

texto alternativo

Bam! Si no le gusta este resultado, vea si hay otros escribiendo 'n'. Además, asegúrese de corregir la basura para que no termine publicando:

mi mente a menudo generará ideas expresas en ese idioma.

Me imagino que se golpea así porque la memoria que contiene sus fragmentos de ensayo ya no está asignada y es pisoteada por asignaciones posteriores.

En Windows:

El procedimiento es el mismo. Primero, cree un volcado de núcleo de Firefox. Esto se puede lograr en el Administrador de tareas. En inglés, la entrada del menú es Crear archivo de volcado .

Volcar el núcleo de Firefox

Dumping toma unos segundos.

Ubicación del vertedero central

Luego, use un editor hexadecimal como http://mh-nexus.de/en/hxd/ para abrir el volcado y busque el texto perdido.

HxD para buscar en el basurero

Joey Adams
fuente
1
Me funcionó en Windows incluso después de presionar el botón Atrás. Ahora es aún más laborioso dado que existen muchos procesos creados por Firefox, pero después de guardarlos todos y usar una herramienta (administrador FAR) para buscar en múltiples codificaciones simultáneamente, funcionó (UTF-16 little endian fue el resultado en mi caso).
alexandroid
Trabajó con cromo en Linux. Tuve que actualizar la página para averiguar qué proceso era la página mediante la supervisión htop(Chrome parece crear muchos hilos).
passerby51
1

Lo primero: los formularios generalmente no se almacenan en caché. Por lo tanto, lo que haya enviado se ha ido al sitio y si lo dejó, ya está; necesitas volver a escribirlo.

Lazarus usa una base de datos SQLite para almacenar los datos de su formulario (por supuesto, solo después de que esté instalado).

ps: el volcado del núcleo es un lindo intento de hacer lo necesario, sin embargo, me pregunto si hay un beneficio de costo por esfuerzo (esto sería más útil como una técnica de spyware / malware, sin ofender Joeyaquí).

nik
fuente
1
En realidad, la técnica de volcado del núcleo resultó ser más fácil de lo que esperaba.
Joey Adams
@Joey, lo hizo por ti y luego lo declaraste la solución para tu propio problema. Me pregunto qué tan bien les irá a todos los que tengan el mismo problema: ¿deberían instalar cosas como Lazarus o esperar para obtener un volcado de núcleo y probar suerte? Si es así, valdría la pena tener en cuenta cómo funcionan las dos cosas.
nik
1
En realidad, la técnica de descarga del núcleo fue muy útil para mí y fue muy simple de hacer.
lvella
2
Contra la pérdida futura de datos de formularios, Lazarus es prometedor, pero tiene la ligera debilidad de no trabajar en absoluto.
Nicolas Barbulesco