Chcę móc eksportować hasła z przeglądarki Chrome, aby móc wykonać wydrukowaną kopię.
Chcę móc eksportować hasła z przeglądarki Chrome, aby móc wykonać wydrukowaną kopię.
Odpowiedzi:
Poniżej wymieniono kilka rozwiązań, nie wszystkie z nich mogą współpracować z najnowszymi wersjami Chrome. „Oficjalne” rozwiązanie Google Chrome / Canary jest obecnie jedynym niezawodnym. Inne potencjalnie nieaktualne rozwiązania obejmują oparte na JS dla dowolnego systemu operacyjnego, rozwiązanie tylko dla OSX i rozwiązanie tylko dla systemu Linux (potwierdzone, że działa w Chrome 68).
chrome://flags
w pasku adresu.Password import
i Password export
, i uruchom ponownie Chrome Canary.chrome://settings/passwords
gdzie powinna być widoczna ikona z trzema kropkami. Kliknięcie go wyświetli opcje IMPORTi EXPORT:Aktualizacja: w nowszych wersjach Kanaryjskich zamiast przycisków Importuj / Eksportuj znajduje się pojedynczy przycisk z trzema kropkami, który zawiera Exportopcję.
Uwaga : Począwszy od Chrome v60 + opisana poniżej metoda już nie działa.
Niezależnym od systemu operacyjnego sposobem wyodrębnienia haseł Chrome do formatu czytelnego dla człowieka / arkusza kalkulacyjnego jest interfejs Chrome JavaScript API, zgodnie z opisem na tej stronie :
PasswordManager is not defined
):
var out = [];
var pm = PasswordManager.getInstance();
var model = pm.savedPasswordsList_.dataModel;
console.log(model);
var pl = pm.savedPasswordsList_;
for (var i = 0; i < model.length; i++) {
PasswordManager.requestShowPassword(i);
}
alert('After you press Ok results should appear in ~5 seconds.\n' +
"If password fields are empty, try increasing the timeout in the last line," +
" i.e. set to 10000 for 10 seconds");
setTimeout(
function () {
out.push('# Generated by Password Exporter; Export format 1.1; Encrypted: false');
out.push('"hostname","username","password","formSubmitURL","httpRealm","usernameField","passwordField"');
for (var i = 0; i < model.length; i++) {
var record = model.array_[i];
var user = record.username;
var item = pl.getListItemByIndex(i);
var pass = item.querySelector('div.password input').value;
var proto = record.url.split('://')[0];
var line = `"${proto}://${record.shownOrigin}", "${user}", "${pass}", "${record.url}", ," "," "," "`;
out.push(line);
console.log(line);
}
document.body.innerText = out.join('\n');
}, 5000);
WAŻNE : ten kod dotyczy wersji Chrome od wersji 50. W przypadku wcześniejszych wersji użyj kodu połączonego na oryginalnej stronie github .
Hasła powinny pojawić się na tej samej stronie w formacie CSV. Wybierz i skopiuj dane wyjściowe do pliku tekstowego z .CSV
rozszerzeniem - można go otworzyć w programie Excel / Libreoffice Calc. Format jest zgodny z eksporterem haseł Firefox i można go użyć do importowania haseł do Firefoksa.
Najnowsze wersje Google Chrome / Chromium dla OSX przechowują hasła w pęku kluczy systemu, co oznacza, że Chrome korzysta z wbudowanego mechanizmu przechowywania poświadczeń OSX ( to już nieaktualne informacje ).
W OSX możesz wyeksportować hasła, uruchamiając je w terminalu:
sudo security dump-keychain -d login.keychain > keychain.txt
I tak, musisz kliknąć Zezwól na wszystko tyle razy, ile domen jest w pęku kluczy logowania, chyba że używasz skryptu autoclicker . Link wskazuje również na skrypt ruby do konwersji wygenerowanego pliku hasła na CSV . Skrypt Ruby zadziałał dla mnie po usunięciu wiersza zawierającego proto.gsub!('htps', 'https');
.
Alternatywnie możesz użyć natywnej aplikacji OSX Keychain Access (wpisz nazwę w Spotlight).
UWAGA : jak wskazuje wiosłowa , Chrome przestał używać pęku kluczy OSX od wersji 45.
To rozwiązanie nadal działa w aktualnych wersjach chrome (v68)
Poniższy przepis jest rozwiązaniem opartym tylko na systemie Linux i został zaczerpnięty z tego posta na blogu, który stworzyłem jakiś czas temu. Aby wyeksportować hasła do arkusza kalkulacyjnego CSV, który można otworzyć w LibreOffice lub Excel:
Uruchom Chrome / Chromium za pomocą jednego z poniższych wierszy poleceń. Spowoduje to uruchomienie Chrome z niestandardowym folderem profilu bez wpływu na bieżący profil chrome.
## for Chrome:
google-chrome --user-data-dir=/tmp/chrome-tmp --password-store=basic
## for Chromium:
chromium --user-data-dir=/tmp/chrome-tmp --password-store=basic
Skonfiguruj Google Synching dla nowego profilu tymczasowego i poczekaj, aż wszystko zostanie zsynchronizowane z chmurą, tj. Pojawią się twoje zakładki, pojawią się rozszerzenia, zastosowany motyw itp. Sprawdź, czy hasła są przywracane z chmury Google, patrząc w Ustawienia → Osobiste Rzeczy → Zarządzaj zapisanymi hasłami. Jeśli się nie pojawią, poczekaj jeszcze kilka minut. Uwaga : Aby uzyskać dostęp do ustawień otwartej strony zapisanych haseł, password
w polu Wyszukaj w prawym górnym rogu, Zarządzaj hasłami pojawi się na dole strony. Możesz także użyć bezpośredniego linku chrome://settings/passwords
.
Wyjdź z Chrome.
Następnie otwórz terminal i cd
nowo utworzony profil Chrome:
cd /tmp/chrome-tmp/Default
Teraz otwórz Login Data
plik bazy danych za pomocą narzędzia wiersza polecenia sqlite3 i zrzuć tabelę logowania . Aby to zadziałało, musisz mieć sqlite3
zainstalowany w systemie (w większości Linuces jest wstępnie zainstalowany lub jest dostępny w repozytoriach).
sqlite3 'Login Data'
Następnie w wierszu polecenia SQLite wprowadź poniższe polecenia. Aby uzyskać pomoc dotyczącą dostępnych poleceń, wpisz .help
polecenie.
.mode csv # other options are `html', `tabs', etc.
.headers on
.separator ","
.output chrome_passwords.csv
select * from logins;
.exit
Teraz powinieneś mieć plik o nazwie chrome_passwords.csv
zawierający wszystkie hasła do Chrome. Aby otworzyć go za pomocą LibreOffice, wpisz:
libreoffice --calc chrome_passwords.csv
Login Data
Plik można otworzyć bezpośrednio z aplikacji GUI, SQLite takiej sqlitebrowser , sqliteman lub sqlitestudio , z których dwa pierwsze są zazwyczaj dostępne w repo Linux.
--password-store=...
arg nie działa. Login Data
jest nadal używany, ale tylko w przypadku metadanych, które nie pasują do pęku kluczy. Jeśli więc chcesz zobaczyć swoje hasło, wpisz Dostęp do pęku kluczy w centrum uwagi. Aby przeprowadzić migrację haseł do innego systemu OSX, musisz skopiować zarówno profil Chrome, jak ~/Library/Keychains/login.keychain
i profil ~/Library/Application Support/Google/Chrome/<__YOUR_PROFILE_FOLDER__>
. Jeśli masz tylko jeden profil chrome, folder profilu zostanie wywołany Default
.
ChromePass wygląda jak narzędzie, którego potrzebujesz. Istnieją opcje zapisywania do HTML i zwykłego tekstu, które są bardzo łatwe do wydrukowania.
Znajdź najłatwiejsze rozwiązanie tutaj: https://www.axllent.org/docs/view/export-chrome-passwords/
Od lipca / sierpnia 2016 r. Google wprowadził ukrytą funkcję, która pozwala importować i eksportować hasła. Wszystko, co obecnie musisz zrobić, to włączyć ukrytą funkcję w chrome://flags
ustawieniach i ponownie uruchomić przeglądarkę, po czym będziesz mieć wymaganą funkcjonalność.
chrome://flags/#password-import-export
a następnie włącz tę funkcję.chrome://settings/passwords
(może minąć trochę czasu, zanim je zsynchronizujesz), a następnie przewiń w dół do swoich haseł, a zobaczysz dwa nowe przyciski: Importuj i eksportuj.Inne metody eksportu haseł są dość zaangażowane; z tego powodu napisałem prosty fragment javascript, aby zająć się zadaniem .
simple script to export chrome passwords, run when the password manager is open from the chrome console (hit f12 to access the console) in frame settings( passwords )
out="";out2="";dat=document.getElementsByClassName("password");
for(i=0;i<dat.length;i++){x=dat[i].parentNode;
out+="\n"+x.childNodes[0].innerText+"|"+x.childNodes[1].innerText+"|"+x.childNodes[2].childNodes[0].value;
out2+="br/>"+x.childNodes[0].innerText+"|"+x.childNodes[1].innerText+"|"+x.childNodes[2].childNodes[0].value;};console.log(out);
document.write(out2)
Na końcu odpowiedzi ccpizza
chrome://settings/passwords
.Wygląda na to, że funkcjonalność Chrome Canary, o której wspomina ccpizza, jest teraz dostępna na zwykłym Chrome. (Obecnie jestem w wersji 72, w systemie Windows).
Pracując z odpowiedzi aloga odkryłem, że najnowsze wersje chrome będą wyświetlać tylko adres URL i nazwę użytkownika ze względu na konieczność wprowadzenia hasła do systemu Windows, aby wyświetlić hasło. nadal możesz używać tego fragmentu, ale tylko po kliknięciu i wprowadzeniu hasła do systemu Windows dla każdego wpisu na liście.
więc utworzyłem fragment jquery dla nowszych wersji chrome, aby obejść ten problem.
Tak jak poprzednio, wejdź w tryb programisty (f12) podczas przeglądania menedżera haseł w chrome. Upewnij się, że ramka jest ustawiona na ustawienia (hasło), zwykle w lewym górnym rogu widoku konsoli.
Idź tutaj - Jquery 2.1.4 i skopiuj / wklej kod jquery do konsoli, naciśnij enter.
Teraz możesz wkleić poniższy kod do konsoli, a wyświetli się tam twoje hasło. Następnie możesz wkleić do programu Excel i użyć funkcji ograniczania tekstu do kolumn (pierwszy wynik w Google) . (nie zapomnij ustawić ogranicznika w kodzie i dopasować w programie Excel).
var out = '', delim = "|";
$.each($('.password input'), function(){
if($(this).hasClass('inactive-password')) $(this).next('button').click();
var C = $(this).closest('div[role=listitem]'),
D = C.find('.url').text(),
U = C.find('.name').text(),
P = $(this).val();
out += D + delim + U + delim + P +"\n";
});
console.log(out);
Nadal będziesz musiał wprowadzić hasło do systemu Windows, ale powinno to być tylko raz. Pamiętaj również, aby sprawdzić, czy wszystkie hasła zamieniły się w hasła, ponieważ niektóre mogą zostać pominięte. Jeśli nie powiedzie się to po raz pierwszy, spróbuj ponownie uruchomić kod (strzałka w górę, a następnie enter), ponieważ jquery może pobrać wartość, zanim chrome wprowadzi hasło do wejścia.
Mam nadzieję, że to komuś pomaga, przepraszam za jQuery - było wyłącznie dla mojej wygody.
I oczywiście, jeśli stracisz hasła z powodu tego skryptu (nie że tak powinno być), to ... twoje własne działania ... nie zamierzone ... bla itp
AKTUALIZACJA
jak stwierdza ccpizza, powyższy kod przestał działać, więc oto aktualizacja dla tych, którzy nadal chcą zrobić to po prostu:
var out = '', delim = "|";
$.each($('.password input'), function(){
if($(this).attr('type') == 'password' ) $(this).next('button').click();
var C = $(this).closest('div[role=listitem]'),
D = C.find('.url a').attr('href'),
U = C.find('.name input').val(),
P = $(this).val();
out += D + delim + U + delim + P +"\n";
});
console.log(out);
UPDATE 2
powinna również wspomnieć, jeśli uzyskujesz dostęp do ramki ustawień, chrome://settings/passwords
musisz najpierw wybrać ramkę. Alternatywnie możesz użyć:, chrome://settings-frame/passwords
który powinien umożliwiać bezpośredni dostęp.
chrome://flags/#password-import-export
strony (wklej do paska adresu).Idź do chrome://settings/passwords
, powinieneś zobaczyć przycisk Eksportuj .
Alternatywnie uruchom ten skrypt w konsoli DevTools (JS):
chrome.passwordsPrivate.exportPasswords();
Wyeksportuj do pliku CSV i sprawdź jego zawartość.
Uwaga: Jeśli plik CSV jest pusty, sprawdź ten problem 808233 .
Powiązane: Google Chrome: import / eksport haseł?
Projekty: megmage/chrome-export-passwords
, ChromePass .
Gists: Grogs/step4.js
, codekoala/export_chrome_passwords.js
.