若是本文幫助到你,本人不勝榮幸,若是浪費了你的時間,本人深感抱歉。 但願用最簡單的大白話來幫助那些像我同樣的人。若是有什麼錯誤,請必定指出,以避免誤導你們、也誤導我。 本文來自:www.jianshu.com/users/320f9… 感謝您的關注。java
WiFi密碼查看器 配合 WiFi萬能鑰匙 太爽了。 有時候用萬能鑰匙破解了密碼以後想要讓電腦連上卻又不知道密碼,或者想告訴別人密碼裝一把逼的時候,找不到密碼,就蛋疼了。 以前在小米市場下載了一個,後來更新了就不能用了,每次去翻 re文件管理 也挺麻煩的。 乾脆本身作一個,省的懼怕別人的App作什麼手腳。 最終成品: 當、當、噹噹~~~~~android
目前市面流行的查看WiFi密碼的方法基本相同, 就是想辦法進入 data/misc/wifi 目錄下,找到 wpa_supplicant.conf 文件,而後讀取裏面的數據。git
因此咱們的步驟也很是簡單github
- 一切的前提是應用要獲取到root權限;
這裏要先聲明一點,Android 上你獲取到root權限,只是表明你可使用 su 了,你依然沒法直接讀取 /data/misc/wifi/ 這個路徑的,你想要作的一切「非法」操做,都必須經過 su 來完成,也就是經過 shell 命令。 關於 shell 的方法,有個工具類,挺好用。 ShellUtils.javashell
而後來開始作:app
這個就很少說了,我的的手機如何獲取root權限,得靠本身了。工具
其實也特別簡單,直接上代碼,要點在註釋中說。spa
StringBuffer wifiConf = new StringBuffer();
Process process = null;
DataOutputStream dataOutputStream = null;
DataInputStream dataInputStream = null;
try {
// 獲取 root 環境
process = Runtime.getRuntime().exec("su");
dataOutputStream = new DataOutputStream(process.getOutputStream());
dataInputStream = new DataInputStream(process.getInputStream());
// cat file 打印文件的內容
// 獲取 /data/misc/wifi/wpa_supplicant.conf 數據,
dataOutputStream.writeBytes("cat /data/misc/wifi/wpa_supplicant.conf\n");
dataOutputStream.writeBytes("exit\n");
dataOutputStream.flush();
InputStreamReader inputStreamReader = new InputStreamReader(dataInputStream, "UTF-8");
BufferedReader bufferedReader = new BufferedReader(inputStreamReader);
String line = null;
// 保存數據,這裏都是最基本的 IO 操做,不作過多介紹
while ((line = bufferedReader.readLine()) != null) {
wifiConf.append(line);
}
bufferedReader.close();
inputStreamReader.close();
process.waitFor(); // 線程等待
} catch (Exception e) {
return;
} finally {
try {
if (dataOutputStream != null) {
dataOutputStream.close();
}
if (dataInputStream != null) {
dataInputStream.close();
}
process.destroy(); // 線程銷燬
} catch (Exception e) {
}
}
複製代碼
這樣 /data/misc/wifi/wpa_supplicant.conf 文件的內容就被保存在剛開始定義的 StringBuffer 當中,接下來,咱們經過本身喜歡的方式,將數據解析出來便可。命令行
都已經拿到數據了,解析完成以後,使用 ListView 進行顯示便可。線程
總體的核心就是使用 shell 獲取到 /data/misc/wifi/wpa_supplicant.conf 文件的內容,拿到數據以後,一切都變得簡單了,都是最基本的操做。
源碼在這裏: WifiPassword 裏面有 Apk 的下載連接哦~~~ wifi密碼查看我仍是用的比較多的,每次給這個 apk root 權限的時候總懼怕他幹了什麼壞事,如今終於不怕啦。