Bagaimana saya bisa menemukan kata sandi Wi-Fi yang disimpan?

26

Saya memiliki ponsel Android yang terhubung ke hotspot Wi-Fi aman. Bagaimana saya bisa mengetahui kata sandi hotspot dari telepon?

michael
sumber
Mereka yang mencari solusi non-root, lihat Ambil kata sandi WiFi
Firelord

Jawaban:

13

Di ponsel saya, kredensial disimpan dalam /data/wifi/bcm_supp.conf. Anda mungkin perlu root untuk melihatnya langsung di ponsel Anda, tetapi Anda mungkin dapat menggunakan adb pull(memerlukan Android SDK) dari PC Anda untuk mendapatkan file.

Seperti disebutkan dalam komentar, lokasi dapat bervariasi berdasarkan ROM atau perangkat Anda (khususnya chip Wi-Fi; milik saya adalah Broadcom). Periksa /data/wifi/, /data/etc/wifi/dan /data/misc/wifi/untuk file konfigurasi yang relevan jika Anda tidak menemukan yang disarankan oleh eldarerathis atau saya.

Matius Baca
sumber
3
Hm, menarik. Apa jenis ponsel yang Anda gunakan ATM? Saya tidak memiliki file itu, tetapi saya baru saja akan mengirim jawaban yang mengatakan untuk mencari /data/misc/wifi/wpa_supplicant.conf. Mungkin WPA Supplicant hanyalah benda CyanogenMod ...
eldarerathis
Nama dan lokasi file bervariasi per perangkat, tetapi harus salah satu atau yang lain.
Lucas Ramage
9

Pada perangkat CyanogenMod, dan mungkin ROM AOSP lainnya, Anda harus dapat mengambilnya dari /data/misc/wifi/wpa_supplicant.conffile. Pada perangkat yang tidak di-rooting, saya rasa ini tidak mungkin karena Anda tidak akan memiliki izin untuk membaca /datadirektori tempat pengaturan disimpan dan menu Pengaturan hanya ditampilkan (Unchanged)jika Anda masuk ke konfigurasi jaringan.

Ini yang saya lihat di CM7 EVO saya (nama jaringan dan kata sandi dihapus):

# cd /data/misc/wifi/
# ls
sockets              wpa_supplicant.conf
# more wpa_supplicant.conf
ctrl_interface=eth0
update_config=1

network={
        ssid="SomeWifiNetwork"
        psk="MyPlaintextPassword"
        key_mgmt=WPA-PSK
        priority=1
}
#
eldarerathis
sumber
Ponsel saya sudah di-root. Saya sudah menginstal aplikasi 'superuser'. Tapi bagaimana saya bisa mendapatkan 'adb shell' dengan root diakses. Saya mencoba '$ adb shell shell @ android: / $ su Izin ditolak 1 | shell @ android: / $ cd / data shell @ android: / data $ ls opendir gagal, Izin ditolak 255 | shell @ android: / data $ su Izin ditolak 1 | shell @ android: / data $
michael
1
Ah, ini sebenarnya adalah pengaturan baru di CyanogenMod. Anda harus menggunakan suuntuk mendapatkan shell root, tetapi periksa terlebih dahulu Settings->Developer Options(pengaturan utama ponsel Anda) untuk melihat apa pengaturan "Akses Root". Secara default itu adalah "Hanya aplikasi". Anda harus mengubahnya ke "Aplikasi dan ADB" agar sudapat bekerja dari shell.
eldarerathis
@ Michael, saya selalu adb rootdiikuti oleh adb shell.
ott--
2

Di Android Oreo dan Pie (diuji pada OnePlus 6), file tersebut sepertinya /data/misc/wifi/WifiConfigStore.xmlmenyimpan kredensial Wi-Fi Anda. Saya tidak tahu parser XML yang baik, tetapi file dapat dibuka di editor teks ( memerlukan akses root ). Cari dengan nama Wifi Anda (SSID) dan cari baris yang berisi:

<string name="SSID">&quot;YOUR_SAVED_SSID;</string>

Salah satu baris berikut akan menampilkan kata sandi. Itu akan disebut sebagai "PreSharedKey". Contoh:

<string name="PreSharedKey">&quot;SAVED_PASSWORD;</string>
Firelord
sumber