之前在生成签名包的时候,都是直接手动使用Android Studio 的Generate Signed APK 进行签名。由于Android Studio有记住密码,然后久而久之就忘记密码了。。。今天要更新,突然要我输密码。把所有常用的密码组合一个个试,都宣告失败!
Android Studio Log文件找回
如果是使用Android Studio 生成或执行过签名打包,Android Studio 会把相关的信息输出到log 文件,只要找到相应的log文件就可以找回密码。
使用Windows:
进入C:\Users\UserName
,UserName是你当前的用户,然后进入.AndroidStudioX.X > system > log
目录 。打开 idea.log
,查找 injected.signing.store
字样,即可找到如下类似信息:
-Pandroid.injected.signing.store.file=/Users/myuserid/AndroidStudioProjects/keystore/keystore.jks,
-Pandroid.injected.signing.store.password=mystorepassword,
-Pandroid.injected.signing.key.alias=myandroidkey,
-Pandroid.injected.signing.key.password=mykeypassword,
使用Mac:
进入 Terminal, 定位 ~/Library/Logs -> AndroidStudioBeta ->idea.log.1 (or any old log number),
查找 injected.signing.store
字样,即可找到如下类似信息:
-Pandroid.injected.signing.store.file=/Users/myuserid/AndroidStudioProjects/keystore/keystore.jks,
-Pandroid.injected.signing.store.password=mystorepassword,
-Pandroid.injected.signing.key.alias=myandroidkey,
-Pandroid.injected.signing.key.password=mykeypassword,
密码猜测
如果不是使用Android Studio 签名打包,或者通过log文件找不到,那只能够进行密码猜测破解了。手工输入密码猜测密码效率太低,下面分享一个软件。
Android Keystore Password Recovery
【依赖运行环境】:JDK7
【Github官网】:http://maxcamillo.github.io/android-keystore-password-recover/
这个软件包提供三种方式进行猜测破解:
- 简单暴力破解
- 字典破解
- 智能词表破解
暴力破解:
暴力破解法会将密码进行逐个推算直到找出真正的密码为止。命令行窗口输入下面命令,程序就会从AAAAAA ,AAAAACWH...,每次改变后3个字符一个个尝试下去。命令:
java -jar AndroidKeystoreBrute_v1.07.jar -m 1 -k "C:\\keystore.jks" -start AAAAAA
字典破解:
所谓“字典”就是给密码锁定某个范围,比如英文单词以及生日的数字组合等,所有的英文单词不过10万个左右这样可以大大缩小密码范围,很大程度上缩短了破译时间。wordlist.txt为字典文件,命令:
java -jar AndroidKeystoreBrute_v1.07.jar -m 2 -k "C:\keystore.jks" -d "wordlist.txt"
智能词表破解(推荐先用这种方法):
智能词表是根据你给定的词,然后进行随机组合进行碰撞。先建个txt存放你觉得密码可能包含的某些字母或者数字等组合,然后输入命令:
java -jar AndroidKeystoreBrute_v1.07.jar -m 3 -k "C:\keystore.jks" -d "wordlist.txt"
执行结果:
......
Password is: android521 for alias xapp