Jak odzyskać formularz w przeglądarce Firefox * bez * instalowania wtyczki? [duplikować]

33

Możliwa duplikat:
Jak odzyskać informacje z formularza dla strony internetowej w Firefoksie

Wpisałem kilka akapitów na forum dyskusyjnym, ale kiedy kliknąłem przycisk wysyłania, witryna przechodziła (nie) zaplanowaną konserwację, a przycisk Wstecz postanowił odświeżyć stronę, wysyłając moje akapity w zapomnienie.

Szybkie wyszukiwanie w Internecie ujawniło, że Lazarus zapewnia odzyskiwanie formularzy dla przeglądarki Firefox. Jednak instalacja wtyczki wymaga ponownego uruchomienia przeglądarki Firefox, a nawet po ponownym uruchomieniu przeglądarki Firefox (czego jeszcze nie zrobiłem) Lazarus nie może odzyskać formularzy, których kopii zapasowej jeszcze nie utworzył.

Teraz, gdy koń jest już poza stodołą, chcę zrobić to, co niemożliwe: przywrócić część lub całość wpisanego tekstu bez ponownego uruchamiania przeglądarki.


Edycja : powinienem wyjaśnić. Lazarus to wspaniałe rozwiązanie do zapobiegania utracie danych w przyszłości . To pytanie jest skierowane do osób, które odeszły już od swojej formy i straciły jej treść, ale mają nadzieję, że istnieje sposób na uratowanie sytuacji. Moim rozwiązaniem było uzyskanie zrzutu pamięci procesu i przejście przez niego, ale może to być sposób laika (na przykład, aby Firefox załadował buforowaną wersję poprzedniej strony). Zatem rozwiązania, które tylko rozwiążą problem w przyszłości, nie zajmując się teraźniejszością, są nie na temat tego pytania.

Joey Adams
źródło
1
Myślę, że odpowiedziałeś tutaj na własne pytanie ...
John T
2
@John T: Rzeczywiście. Po prostu tworzę paszę Google dla innych osób z tym samym problemem, ale jeśli ktoś ma jakieś lepsze sugestie, z pewnością są mile widziane.
Joey Adams
8
To nie jest dokładny duplikat. Najważniejsze odpowiedzi na zadane pytanie wymagają zainstalowania wtyczki, co nie pomaga użytkownikowi, jeśli już stracił formularz.
Joey Adams,
Natrafiłem na tę samą sytuację. Rozwiązanie byłoby bardzo miłe. Nawet w przypadku utraty danych w przyszłości , szukam również rozwiązania. Łazarz obiecuje, ale ma niewielką słabość, że w ogóle nie działa.
Nicolas Barbulesco
1
superuser.com/questions/512669/... jest odpowiedni i zapewnił mi działające rozwiązanie za pomocą techniki narzędzi Web Developer.
pbhj

Odpowiedzi:

57

Nie uruchamiaj ponownie przeglądarki ani nie naciskaj przycisku Wstecz!

W systemie Linux:

To rozwiązanie nie działa i działa w systemie Linux. W skrócie: zrzuć pamięć procesu Firefox i przeszukaj go w poszukiwaniu fragmentów tekstu. To brzydkie, ale to twoja ostatnia deska ratunku.

Najpierw zrzuć rdzeń za pomocą gcorenarzędzia, które wymaga zainstalowania gdb (debugger 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

Pamiętaj, że zrzut pamięci może zająć kilkaset megabajtów miejsca na dysku.

Jeśli się powiedzie, możesz odetchnąć z ulgą. Jeśli tekst pozostawał w pamięci przez przypadek, został przechwycony w głównym zrzutu.

Teraz spróbuj zapamiętać frazę z eseju (na przykład „głęboki efekt”) i użyj, grepaby sprawdzić, czy występuje w dokumencie:

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

Jeśli pojawi się komunikat „Plik binarny ... pasuje”, dobrze, jest tam! Jeśli nie, wypróbuj więcej wyrażeń. Jeśli wszystkie twoje greppróby przyniosą pusty efekt, twój esej prawdopodobnie zniknie na zawsze i nic nie możesz na to poradzić. (Możesz spróbować grep -R 'a profound effect' ~/.mozilla, ale wątpię, czy to zadziała)

Zakładając, że otrzymasz dopasowanie, następnym zadaniem będzie wycięcie kawałków zrzutu podstawowego zawierającego szukany tekst i użycie go lessdo obejrzenia go wizualnie:

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

(Możesz pominąć pierwszą linię i po prostu powiedzieć less core.7089, ale odkryłem, że lessma ona tendencję do nadmiernego zużycia pamięci podczas wyszukiwania tak dużego pliku binarnego.)

Teraz wpisz /a profound effect, naciśnij Enter, poczekaj i przewiń stronę, aż zobaczysz coś rozpoznawalnego:

alternatywny tekst

Bam! Jeśli nie podoba ci się ten wynik, sprawdź, czy są jakieś inne, wpisując „n”. Pamiętaj też o poprawieniu śmieci, aby nie opublikować:

mój umysł często generuje pomysły w tym języku.

Wyobrażam sobie, że tak się zapycha, ponieważ pamięć przechowująca twoje fragmenty eseju nie jest już przydzielana i jest deptana przez kolejne przydziały.

W systemie Windows:

Procedura jest taka sama. Najpierw utwórz zrzut główny przeglądarki Firefox. Można to osiągnąć w Menedżerze zadań. W języku angielskim pozycja menu to Utwórz plik zrzutu .

Zrzucanie rdzenia Firefoksa

Zrzucanie zajmuje kilka sekund.

Lokalizacja zrzutu rdzenia

Następnie użyj edytora szesnastkowego, takiego jak http://mh-nexus.de/en/hxd/, aby otworzyć zrzut i wyszukać utracony tekst.

HxD do przeszukiwania zrzutu

Joey Adams
źródło
1
Pracował dla mnie w systemie Windows nawet po naciśnięciu przycisku Wstecz. Jest to jeszcze bardziej pracochłonne, biorąc pod uwagę wiele procesów stworzonych przez Firefoksa, ale po zapisaniu ich wszystkich i użyciu narzędzia (menedżera FAR) do przeszukiwania wielu kodowań jednocześnie działało (w moim przypadku był to wynik endianu UTF-16).
alexandroid
Pracował z chromem w systemie Linux. Musiałem odświeżyć stronę, aby dowiedzieć się, który proces strona była monitorowana htop(chrome wydaje się tworzyć wiele wątków).
passerby51
1

Po pierwsze - formularze zwykle nie są buforowane. Tak więc wszystko, co przesłałeś, trafiło na stronę, a jeśli je upuściło, gotowe. musisz go ponownie wpisać.

Lazarus używa SQLite DB do przechowywania danych formularza (oczywiście dopiero po jego zainstalowaniu).

ps: zrzut rdzenia jest uroczą próbą zrobienia tego, co potrzebne, ale zastanawiam się, czy wiąże się to z korzyścią kosztową (jest to bardziej przydatne jako technika oprogramowania szpiegującego / złośliwego oprogramowania - tutaj nie ma urazy Joey).

nik
źródło
1
W rzeczywistości technika zrzutu rdzenia okazała się łatwiejsza niż się spodziewałem.
Joey Adams
@Joey, zrobiło to za ciebie, a następnie zadeklarowałeś, że jest to rozwiązanie twojego problemu. Zastanawiam się, jak dobrze sobie poradzi wszystkim, którzy napotykają ten sam problem - czy powinni zainstalować takie rzeczy, jak Lazarus, czy poczekać na zrzut pamięci i spróbować szczęścia? Jeśli tak, warto pamiętać, jak działają te dwie rzeczy.
nik
1
W rzeczywistości technika zrzutu rdzenia była dla mnie bardzo przydatna i bardzo prosta.
lvella
2
Przeciwko utracie danych w przyszłości Lazarus obiecuje, ale ma niewielką słabość polegającą na tym, że w ogóle nie działa.
Nicolas Barbulesco