Como recupero um formulário no Firefox * sem * instalar um plugin? [duplicado]

33

Possível duplicata:
Como recuperar informações de formulário para uma página da Web no Firefox

Digitei alguns parágrafos em um quadro de discussão, mas quando cliquei no botão enviar, o site estava em manutenção (des) agendada e o botão voltar decidiu atualizar a página, esquecendo meus parágrafos.

Uma rápida pesquisa na web revelou que o Lazarus fornece recuperação de formulários para o Firefox. No entanto, a instalação de um plug-in requer a reinicialização do Firefox e, mesmo após a reinicialização do Firefox (o que ainda não fiz), o Lazarus não pode recuperar os formulários que ainda não fizeram backup.

Agora que o cavalo está fora do estábulo, quero fazer o impossível: restaurar parte ou todo o texto que eu digitei, sem reiniciar o navegador.


Editar : devo esclarecer. O Lazarus é uma solução maravilhosa para evitar futuras perdas de dados de formulários. Essa pergunta é para pessoas que já se afastaram de sua forma e perderam seu conteúdo, mas esperamos que haja alguma maneira de salvar a situação. Minha solução foi obter um despejo básico do processo e cumpri-lo, mas pode haver uma maneira leiga de fazê-lo (por exemplo, de alguma forma fazer o Firefox carregar a versão em cache da página anterior). Assim, soluções que apenas resolvem o problema no futuro, sem abordar o presente, estão fora de tópico nesta questão.

Joey Adams
fonte
1
Eu acho que você respondeu a sua própria pergunta aqui ...
John T
2
@ John T: De fato. Estou apenas criando idéias do Google para outras pessoas com o mesmo problema, mas se alguém tiver alguma sugestão melhor, certamente será bem-vinda.
Joey Adams
8
Esta não é uma duplicata exata. As principais respostas da pergunta referenciada requerem a instalação de um plug-in, o que não ajuda o usuário se ele perdeu o formulário.
Joey Adams
Eu corri para a mesma situação. Uma solução seria muito boa. Mesmo contra futuras perdas de dados de formulários , também estou procurando uma solução. Lázaro é promissor, mas ele tem a leve fraqueza de não trabalhar.
Nicolas Barbulesco
1
superuser.com/questions/512669/… é relevante e forneceu uma solução funcional para mim através da técnica de ferramentas do desenvolvedor da Web.
Pbhj

Respostas:

57

Não reinicie o navegador ou pressione o botão Voltar!

No Linux:

Esta solução é uma falha ou falha e funciona no Linux. Resumindo: despeje a memória do processo do Firefox e procure por fragmentos do seu texto. É feio, mas é seu último recurso.

Primeiro, faça o dump core usando o gcoreutilitário, que requer a instalação do gdb (o 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

Observe que um dump principal pode levar várias centenas de megabytes de espaço em disco.

Se deu certo, agora você pode dar um suspiro de alívio. Se o seu texto permaneceu na memória por acaso, ele foi capturado no dump principal.

Agora, tente lembrar uma frase do seu ensaio (por exemplo, "um efeito profundo") e use greppara verificar se ela está presente no documento:

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

Se você receber "Arquivo binário ... corresponde", está bom! Caso contrário, tente mais frases. Se todas as suas greptentativas produzem resultados vazios, provavelmente o seu ensaio se foi para sempre e não há nada que você possa fazer. (Você pode tentar grep -R 'a profound effect' ~/.mozilla, mas duvido que funcione)

Supondo que você tenha uma correspondência, a próxima tarefa será cortar partes do dump principal que contém o texto que você está procurando e usá less-lo para visualizá-lo:

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

(Você pode omitir a primeira linha e apenas dizer less core.7089, mas eu descobri que isso lesstende a aumentar no uso de memória ao pesquisar por um arquivo binário tão grande.)

Agora, digite /a profound effect, pressione Enter, aguarde e pagine para baixo até ver algo reconhecível:

texto alternativo

Bam! Se você não gostar desse resultado, verifique se há algum outro digitando 'n'. Além disso, não se esqueça de revisar o lixo para não acabar postando:

minha mente geralmente gera idéias expressas nessa linguagem.

Eu imagino que seja derrotado assim porque a memória que contém os fragmentos de ensaio não é mais alocada e é pisoteada pelas alocações subsequentes.

No Windows:

O procedimento é o mesmo. Primeiro, crie um dump principal do Firefox. Isso pode ser realizado no Gerenciador de tarefas. Em inglês, a entrada do menu é Criar arquivo de despejo .

Despejando o núcleo do firefox

O despejo leva alguns segundos.

Local do dump principal

Em seguida, use um editor hexadecimal como http://mh-nexus.de/en/hxd/ para abrir o despejo e procure o texto perdido.

HxD para pesquisar o despejo

Joey Adams
fonte
1
Funcionou para mim no Windows, mesmo depois que o botão Voltar foi pressionado. É ainda mais trabalhoso agora, devido a muitos processos criados pelo Firefox, mas depois de salvar todos eles e usar uma ferramenta (gerenciador de FAR) para pesquisar várias codificações simultaneamente, funcionou (UTF-16 little endian foi o resultado no meu caso).
alexandroid
Trabalhou com cromo no Linux. Teve que atualizar a página para descobrir qual processo a página estava monitorando htop(o chrome parece criar muitos threads).
passerby51
1

Primeira coisa - os formulários geralmente não são armazenados em cache. Portanto, tudo o que você enviou foi para o site e, se ele foi descartado, está pronto; você precisa digitá-lo novamente.

O Lazarus usa um banco de dados SQLite para armazenar os dados do formulário (é claro, somente após a instalação).

ps: o core-dump é uma tentativa fofa de fazer o necessário, no entanto, pergunto-me se há um benefício de custo-esforço nisso (isso seria mais útil como uma técnica de spyware / malware - sem ofensa Joeyaqui).

nik
fonte
1
Na verdade, a técnica de core dump acabou sendo mais fácil do que eu esperava.
Joey Adams
@ Joey, ele fez por você e, em seguida, você declarou a solução para o seu próprio problema. Eu me pergunto até que ponto vai dar certo para todos que enfrentam o mesmo problema - eles devem instalar coisas como o Lazarus ou esperar para obter um despejo básico e tentar a sorte? Nesse caso, valeria a pena ter em mente como as duas coisas funcionam.
nik 23/01
1
Na verdade, a técnica de core dump foi muito útil para mim e muito simples de fazer.
Lvella # 17/13
2
Contra a perda futura de dados de formulários, Lazarus é promissor, mas ele tem a leve fraqueza de não funcionar.
Nicolas Barbulesco