keystore密码忘记了,准备给自己的应用发布一个新版本,在apk打包时,发现之前的用的keystore密码忘了。如果换一个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中方法来破解密码:        [mw_shl_code=java,true]There are 3 Methods to recover your keystore password:- Simply Bruteforce          (简单的暴力破解)- Dictionary Attack           (字典破解)- Smart Wordlist Attack   (智能单词列表破解)       英文不好,直译的![/mw_shl_code]用法:[mw_shl_code=java,true]execute withjava -jar AndroidKeystoreBrute.jar possible args-m <1..3> Method-k   path to your keystore-d dictionary (for method 2 and 3)-p use common replacements like '@' for 'a'(for method 3) WARNING - very slow!! -start sets the start String for the password (for brute force)-w writes a new keystore with same password than the key-h prints helpscreenexample for brute-force attackjava -jar AndroidKeystoreBrute_v1.05.jar -m 1 -k <...keystore> -start AAAAAAexample for dictionary attackjava -jar AndroidKeystoreBrute_v1.05.jar -m 2 -k "C:\\mykeystore.keystore" -d "wordlist.txt" example for smart wordlist attack (recommend)java -jar AndroidKeystoreBrute_v1.05.jar -m 3 -k "C:\\mykeystore.keystore" -d "wordlist.txt" [/mw_shl_code]开始我用的是方法一,跑了一宿,也没跑完。默认的字母组合的密码太多了,用这种方法破解出密码太渺茫了。后来我尝试使用方法三,其实我没注意,官方推荐就使用方法三:          先创建一个txt,比如passlib.txt: 在文本文档里输入自己常用的设置密码的短语,或者你隐约记得当初创建时可能用到的单词,反正能想到的统统写下来:         [mw_shl_code=java,true]helloworld         ILoveYou         java          android         com.ldxx.firstapp[/mw_shl_code]然后执行:       [mw_shl_code=java,true] java -jar AndroidKeystoreBrute_v1.05.jar -m 3 -k "C:\\mykeystore.keystore" -d "passlib.txt" [/mw_shl_code]若要是你创建的passlib.txt中的短语确实在你的keystore密码中出现过,那找回密码是瞬间的事:       我的执行结果:    [mw_shl_code=java,true] Got Password in 0 seconds     Password is: android521 for alias ldxxfirstapp[/mw_shl_code]注:命令行执行java -jar 命令时,根目录一定是 AndroidKeystoreBrute_v1.05.jar所在的目录,比如 AndroidKeystoreBrute_v1.05.jar放在C:\key\ AndroidKeystoreBrute_v1.05.jar下,先得cd C:\key 然后在执行,否则会报错的。

查看原文