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 然后在执行,否则会报错的。

更多相关文章

  1. ubuntu 字体 android stuido 汉字 显示 方块
  2. Android(安卓)Service组件的生命周期及用法总结
  3. Android中的设计模式--适配器模式
  4. Android——SharedPreferences实现登录界面的记住密码和自动登录
  5. 探究为何:在onCreate中通过View.post能获取宽高
  6. Android(安卓)wpa_cli 调试方法(adb shell 命令)
  7. geekband android #5 第八周分享
  8. 调用startactivityforresult后,onactivityresult响应
  9. Fragment(二)-----分析执行的过程篇

随机推荐

  1. 在Android中创建和使用数据库
  2. Android防止内存溢出浅析
  3. Android JNI 机制
  4. Android 自定义URL Scheme
  5. fanfou(饭否) android客户端 代码学习3
  6. 学习Android(安卓)Opengles 做游戏引擎笔
  7. Google Android 2.0初期版本亮相 支持手
  8. Android之——史上最简单最酷炫的3D图片
  9. Android UI学习总结
  10. xmlns:android="http://schemas.android.