Android keystore 密码忘记了的找回办法

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 with
java -jar AndroidKeystoreBrute.jar <args>
possible args
-m <1..3> Method
-k <path>  path to your keystore
-d <path> dictionary (for method 2 and 3)
-p use common replacements like '@' for 'a'(for method 3) WARNING - very slow!! 
-start <String> sets the start String for the password (for brute force)
-w writes a new keystore with same password than the key
-h prints helpscreen
example for brute-force attack
java -jar AndroidKeystoreBrute_v1.05.jar -m 1 -k <...keystore> -start AAAAAA
example for dictionary attack
java -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 然后在执行,否则会报错的。

posted @ 2016-03-04 09:24  小y  阅读(6407)  评论(0编辑  收藏  举报