標籤:android style http io os 使用 ar java for
昨天準備給自己的應用發布一個新版本,在apk打包時,發現之前的用的keystore密碼忘了。 蛋碎了一地,我把我所能想到的密碼都試了一遍(註:我平常在各個門戶網站註冊基本上用的都是那幾個字母和數字組合做密碼),無果。 折騰到淩晨一點半,死的心都有了。
Google和百度搜個底朝天,也沒找到解決辦法,Stackoverflow上的大牛們說,只有兩個辦法:1.想出密碼 ;2.重新修改包名,重建keystore,重新發布一個新的應用。
後來在知乎上看到有人給出一個連結,抱著試試看的態度進去看了一下,結果真的可以!
下邊分享一下經驗:
【軟體】:Android Keystore Password Recovery
【網址】:https://code.google.com/p/android-keystore-password-recover/
【運行環境】:JDK7
下載jar包:https://drive.google.com/file/d/0B_Rw7kNjv3BATldrLXMwcVRud2c/edit?usp=sharing,試了多次,證明已經被天朝河蟹掉了,只能FQ下載。下載下來:AndroidKeystoreBrute_v1.05.jar
官方提供3中方法來破解密碼:
1 |
There are 3 Methods to recover your keystore password: |
2 |
- Simply Bruteforce (簡單的暴力破解) |
3 |
- Dictionary Attack (字典破解) |
4 |
- Smart Wordlist Attack (智能單字清單破解) 英文不好,直譯的! |
用法:
02 |
java -jar AndroidKeystoreBrute.jar <args> |
05 |
-k <path> path to your keystore |
06 |
-d <path> dictionary (for method 2 and 3) |
07 |
-p use common replacements like ‘@‘ for ‘a‘(for method 3) WARNING - very slow!! |
08 |
-start <String> sets the start String for the password (for brute force) |
09 |
-w writes a new keystore with same password than the key |
11 |
example for brute-force attack |
12 |
java -jar AndroidKeystoreBrute_v1.05.jar -m 1 -k <...keystore> -start AAAAAA |
13 |
example for dictionary attack |
14 |
java -jar AndroidKeystoreBrute_v1.05.jar -m 2 -k "C:\\mykeystore.keystore" -d "wordlist.txt" |
15 |
example for smart wordlist attack (recommend) |
17 |
java -jar AndroidKeystoreBrute_v1.05.jar -m 3 -k "C:\\mykeystore.keystore" -d "wordlist.txt" |
開始我用的是方法一,跑了一宿,也沒跑完。預設的字母組合的密碼太多了,用這種方法破解出密碼太渺茫了。
後來我嘗試使用方法三,其實我沒注意,官方推薦就使用方法三: 先建立一個txt,比如passlib.txt: 在文字文件裡輸入自己常用的設定密碼的短語,或者你隱約記得當初建立時可能用到的單詞,反正能想到的統統寫下來:
然後執行:
1 |
java -jar AndroidKeystoreBrute_v1.05.jar -m 3 -k "C:\\mykeystore.keystore" -d "passlib.txt" |
若要是你建立的passlib.txt中的短語確實在你的keystore密碼中出現過,那找回密碼是瞬間的事:
我的執行結果:
1 |
Got Password in 0 seconds |
2 |
Password is: android521 for alias ldxxfirstapp |
註:命令列執行java -jar 命令時,根目錄一定是 AndroidKeystoreBrute_v1.05.jar所在的目錄,比如 AndroidKeystoreBrute_v1.05.jar放在 C:\key\ AndroidKeystoreBrute_v1.05.jar下,先得cd C:\key 然後在執行,否則會報錯的。
Android打包key密碼丟失找回