ฉันต้องการที่จะสามารถส่งออกรหัสผ่านจากเบราว์เซอร์ Chrome เพื่อให้ฉันสามารถทำสำเนาพิมพ์
ฉันต้องการที่จะสามารถส่งออกรหัสผ่านจากเบราว์เซอร์ Chrome เพื่อให้ฉันสามารถทำสำเนาพิมพ์
คำตอบ:
มีวิธีแก้ไขปัญหาต่าง ๆ ที่ระบุไว้ด้านล่างบางวิธีอาจใช้ไม่ได้กับ Chrome เวอร์ชันล่าสุดทั้งหมด โซลูชัน 'เป็นทางการ' ของ Google Chrome / Canary เป็นวิธีเดียวที่เชื่อถือได้ในปัจจุบัน โซลูชันที่ล้าสมัยอื่น ๆ อาจรวมโซลูชัน JS-based สำหรับ OS ใด ๆ โซลูชัน OSX เท่านั้นและโซลูชัน Linux เท่านั้น (ยืนยันว่าจะทำงานใน Chrome 68)
chrome://flags
ในแถบที่อยู่Password import
และ Password export
และรีสตาร์ท Chrome Canarychrome://settings/passwords
ที่คุณควรเห็นไอคอนสามจุด คลิกที่มันจะแสดงIMPORTและEXPORTตัวเลือก:อัปเดต: ในเวอร์ชัน Canary ที่ใหม่กว่าแทนปุ่มนำเข้า / ส่งออกจะมีปุ่มจุดสามจุดเดียวที่มีExportตัวเลือก
หมายเหตุ : สำหรับ chrome v60 + วิธีการที่อธิบายด้านล่างไม่ทำงานอีกต่อไป
วิธีที่ไม่ขึ้นกับระบบปฏิบัติการในการดึงรหัสผ่าน Chrome ไปยังรูปแบบที่มนุษย์ / สเปรดชีตสามารถอ่านได้คือผ่าน Javascript API ของ Chrome ดังที่อธิบายไว้ในหน้านี้ :
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);
สำคัญ : รหัสนี้สำหรับ Chrome รุ่นที่เริ่มต้นด้วย v50 สำหรับรุ่นก่อนหน้านี้ใช้รหัสที่เชื่อมโยงในต้นฉบับหน้า GitHub
รหัสผ่านควรปรากฏในหน้าเดียวกันในรูปแบบ CSV เลือกและคัดลอกเอาต์พุตไปยังไฟล์ข้อความที่มี.CSV
นามสกุล - สามารถเปิดได้ใน Excel / Libreoffice Calc รูปแบบเข้ากันได้กับFirefox Password Exporterและสามารถใช้เพื่อนำเข้ารหัสผ่านไปยัง Firefox
เวอร์ชันล่าสุดของ Google Chrome / Chromium สำหรับ OSX เก็บรหัสผ่านในพวงกุญแจระบบซึ่งหมายความว่า Chrome ใช้กลไกการจัดเก็บข้อมูลรับรองในตัว OSX ( นี่เป็นข้อมูลที่ล้าสมัยไปแล้ว )
ใน OSX คุณสามารถส่งออกรหัสผ่านได้ด้วยการรันในเทอร์มินัล:
sudo security dump-keychain -d login.keychain > keychain.txt
และใช่คุณจะต้องคลิกอนุญาตทั้งหมดหลายครั้งตามที่คุณมีโดเมนในพวงกุญแจเข้าสู่ระบบของคุณจนกว่าคุณใช้สคริปต์ autoclicker การเชื่อมโยงยังชี้ไปยังสคริปต์ทับทิมสำหรับการแปลงไฟล์รหัสผ่านที่สร้างเป็น CSV proto.gsub!('htps', 'https');
สคริปต์ทับทิมทำงานให้ฉันหลังจากที่ฉันลบบรรทัดที่มี
อีกทางหนึ่งคุณสามารถใช้การเข้าถึง KeychainXแอปดั้งเดิม(พิมพ์ชื่อใน Spotlight)
หมายเหตุ : ตามที่ระบุโดยoarfish , Chrome หยุดการใช้งานพวงกุญแจ OSX ตั้งแต่ v.45
โซลูชันนี้ยังคงใช้งานได้ใน chrome รุ่นปัจจุบัน (v68)
สูตรด้านล่างเป็นโซลูชันสำหรับ Linux เท่านั้นและนำมาจากโพสต์บล็อกนี้ที่ฉันสร้างขึ้นเมื่อไม่นานมานี้ ในการส่งออกรหัสผ่านของคุณไปยังสเปรดชีต CSV ที่สามารถเปิดได้ใน LibreOffice หรือ Excel:
เริ่ม Chrome / Chromium โดยใช้หนึ่งในบรรทัดคำสั่งด้านล่าง การดำเนินการนี้จะเปิด Chrome ด้วยโฟลเดอร์โปรไฟล์ที่กำหนดเองโดยไม่มีผลกับโปรไฟล์ 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
ตั้งค่า Google Synching สำหรับโปรไฟล์ชั่วคราวใหม่และรอจนกว่าทุกอย่างจะซิงค์จากระบบคลาวด์เช่นที่คั่นหน้าของคุณปรากฏส่วนขยายปรากฏขึ้นธีมถูกนำไปใช้ ฯลฯ ตรวจสอบว่ารหัสผ่านถูกกู้คืนจากคลาวด์ของ Google โดยดูที่การตั้งค่า→ส่วนตัว สิ่ง→จัดการรหัสผ่านที่บันทึกไว้ หากไม่ปรากฏขึ้นให้รออีกสองสามนาที หมายเหตุ : ในการเข้าถึงการตั้งค่าเปิดหน้ารหัสผ่านที่เก็บไว้และpassword
ในกล่องค้นหาที่ด้านบนขวารหัสจัดการจะปรากฏที่ด้านล่างของหน้า chrome://settings/passwords
นอกจากนี้คุณยังสามารถใช้การเชื่อมโยงโดยตรง
ออกจาก Chrome
ถัดไปเปิดเทอร์มินัลและcd
ไปยังโปรไฟล์ Chrome ที่สร้างขึ้นใหม่:
cd /tmp/chrome-tmp/Default
ตอนนี้เปิดLogin Data
ไฟล์ฐานข้อมูลโดยใช้ยูทิลิตีบรรทัดคำสั่ง sqlite3 และดัมพ์ตารางล็อกอิน เพื่อให้สามารถใช้งานได้คุณจะต้องsqlite3
ติดตั้งในระบบของคุณ (ใน Linuces ส่วนใหญ่จะติดตั้งไว้ล่วงหน้าหรือมีอยู่ใน repos)
sqlite3 'Login Data'
ถัดไปที่พรอมต์ SQLite ป้อนคำสั่งด้านล่าง สำหรับความช่วยเหลือเกี่ยวกับคำสั่งที่มีให้พิมพ์.help
ที่พรอมต์
.mode csv # other options are `html', `tabs', etc.
.headers on
.separator ","
.output chrome_passwords.csv
select * from logins;
.exit
ตอนนี้คุณควรมีไฟล์ชื่อchrome_passwords.csv
ที่มีรหัสผ่าน Chrome ของคุณทั้งหมด หากต้องการเปิดด้วย LibreOffice ให้พิมพ์:
libreoffice --calc chrome_passwords.csv
Login Data
ไฟล์สามารถเปิดได้โดยตรงกับแอพพลิเค SQLite GUI เช่นsqlitebrowser , sqlitemanหรือsqlitestudioซึ่งสองคนแรกเป็นปกติที่มีอยู่ใน Repos ลินุกซ์
--password-store=...
arg ไม่มีผลใด ๆ Login Data
ยังคงใช้ แต่สำหรับเมตาดาต้าที่ไม่พอดีกับพวงกุญแจ ดังนั้นหากคุณต้องการดูรหัสผ่านของคุณให้พิมพ์การเข้าถึง Keychainในสปอตไลท์ ในการย้ายรหัสผ่านของคุณไปยังระบบ OSX อื่นคุณจะต้องคัดลอกทั้งสองอย่าง~/Library/Keychains/login.keychain
และโปรไฟล์โครเมี่ยมของ~/Library/Application Support/Google/Chrome/<__YOUR_PROFILE_FOLDER__>
คุณ Default
หากคุณมีเพียงรายเดียวโครเมี่ยมแล้วโฟลเดอร์รายละเอียดจะถูกเรียกว่า
ChromePassดูเหมือนเครื่องมือที่คุณต้องการ มีตัวเลือกให้บันทึกเป็น HTML และข้อความธรรมดาซึ่งทั้งสองอย่างนั้นง่ายต่อการพิมพ์
พบโซลูชันที่ง่ายที่สุดที่นี่: https://www.axllent.org/docs/view/export-chrome-passwords/
ตั้งแต่เดือนกรกฎาคม / สิงหาคม 2559 Google เปิดตัวคุณลักษณะที่ซ่อนไว้ซึ่งอนุญาตให้คุณนำเข้าและส่งออกรหัสผ่านของคุณ สิ่งที่คุณต้องทำคือเปิดคุณสมบัติที่ซ่อนอยู่ในการchrome://flags
ตั้งค่าและรีสตาร์ทเบราว์เซอร์ของคุณหลังจากนั้นคุณจะมีฟังก์ชั่นที่จำเป็น
chrome://flags/#password-import-export
แล้วเปิดใช้งานคุณสมบัติchrome://settings/passwords
(คุณอาจต้องรอสักครู่เพื่อให้รหัสผ่านของคุณซิงค์) จากนั้นเลื่อนลงไปด้านล่างรหัสผ่านของคุณและคุณจะเห็นปุ่มใหม่สองปุ่มนำเข้าและส่งออกวิธีการส่งออกรหัสผ่านอื่น ๆ นั้นมีส่วนเกี่ยวข้องอย่างเป็นธรรม ด้วยเหตุนี้ผมเขียนง่ายข้อมูลโค้ด JavaScript ในการดูแลของงาน
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)
ในตอนท้ายของคำตอบของ ccpizza
chrome://settings/passwords
ไปที่ดูเหมือนว่าฟังก์ชันการทำงานของ Chrome Canary ที่ ccpizza กล่าวถึงจะใช้งานได้บน Chrome ปกติ (ขณะนี้ฉันอยู่ที่รุ่น 72 บน Windows)
ทำงานจากคำตอบของ alog ฉันพบว่า chrome รุ่นล่าสุดจะออก URL และชื่อผู้ใช้เท่านั้นเนื่องจากต้องการป้อนรหัสผ่าน windows ของคุณเพื่อดูรหัสผ่าน คุณยังคงสามารถใช้ข้อมูลโค้ดได้ แต่หลังจากคลิกและป้อนรหัสผ่าน windows ของคุณสำหรับทุกรายการในรายการ
ดังนั้นฉันจึงสร้างเกร็ดเล็กเกร็ดน้อย jQuery สำหรับ Chrome รุ่นใหม่กว่าเพื่อหลีกเลี่ยงปัญหานี้
เหมือนก่อนเข้าสู่โหมดนักพัฒนาซอฟต์แวร์ (f12) ในขณะที่ดูตัวจัดการรหัสผ่านของคุณในโครเมี่ยม ตรวจสอบให้แน่ใจว่าเฟรมถูกตั้งค่าเป็นการตั้งค่า (รหัสผ่าน) โดยปกติแล้วจะอยู่ด้านบนซ้ายของมุมมองคอนโซล
ไปที่นี่ - Jquery 2.1.4และคัดลอก / วางรหัส jQuery ลงคอนโซลกด
ตอนนี้คุณสามารถวางรหัสด้านล่างลงในคอนโซลและมันจะแสดงรายการรหัสผ่านของคุณที่นั่น จากนั้นคุณสามารถวางลงใน excel และใช้ข้อความถึงคอลัมน์ (ผลลัพธ์แรกบน Google)ฟังก์ชันตัวคั่น (อย่าลืมตั้งค่าตัวคั่นของคุณในโค้ดและการจับคู่ใน 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);
คุณจะต้องป้อนรหัสผ่าน windows ของคุณ แต่ควรจะเป็นเพียงครั้งเดียว โปรดอย่าลืมตรวจสอบว่ารหัสผ่านทั้งหมดได้เปลี่ยนเป็นรหัสผ่านเนื่องจากบางรหัสอาจพลาดหากล้มเหลวในครั้งแรกโปรดลองเรียกใช้รหัสใหม่อีกครั้ง (ลูกศรขึ้นแล้วป้อน) เนื่องจาก jquery อาจดึงค่าก่อนที่ chrome จะป้อนรหัสผ่านลงในอินพุต
หวังว่าจะช่วยใครบางคนขอโทษสำหรับ jQuery - ล้วนเพื่อความสะดวกของฉัน
และแน่นอนว่าถ้าคุณทำรหัสผ่านหายเพราะสคริปต์นี้ (ไม่ใช่อย่างนี้ควร) จากนั้น ... การกระทำของคุณเอง ... ไม่ได้ตั้งใจ ... blah ฯลฯ
UPDATE
เนื่องจาก ccpizza ระบุว่าโค้ดด้านบนหยุดทำงานดังนั้นนี่คือการอัปเดตสำหรับผู้ที่ยังต้องการทำสิ่งต่อไปนี้:
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);
ปรับปรุง 2
ควรพูดถึงถ้าคุณเข้าถึงเฟรมการตั้งค่าโดยchrome://settings/passwords
คุณจะต้องเลือกเฟรมก่อน หรือคุณสามารถใช้: chrome://settings-frame/passwords
ซึ่งควรอนุญาตการเข้าถึงโดยตรง
chrome://flags/#password-import-export
หน้า (วางในแถบที่อยู่)ไปที่chrome://settings/passwords
คุณจะเห็นปุ่มส่งออก
หรือเรียกใช้สคริปต์นี้ในDevTools Console (JS):
chrome.passwordsPrivate.exportPasswords();
ส่งออกเป็น CSV และตรวจสอบเนื้อหาของมัน
หมายเหตุ: หากไฟล์ CSV ว่างเปล่าตรวจสอบเรื่องนี้ฉบับที่ 808233
เกี่ยวข้อง: Google Chrome: นำเข้า / ส่งออกรหัสผ่านหรือไม่
โครงงาน: การmegmage/chrome-export-passwords
, ChromePass
จิสต์: Grogs/step4.js
, codekoala/export_chrome_passwords.js
.
ติดตั้งDashlane (แอพจัดการรหัสผ่าน) ที่คุณสามารถนำเข้ารหัสผ่านที่เก็บไว้โดย Google ทั้งหมดโดยอัตโนมัติ (ควรถามเมื่อเริ่มต้น) จากนั้นใช้แอปพลิเคชันที่คุณสามารถส่งออกเป็นไฟล์เก็บถาวร (เช่นรูปแบบ CSV หรือ Excel)