Android打包key密码丢失找回

昨天准备给自己的应用发布一个新版本,在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   (智能单词列表破解)       英文不好,直译的!

用法:

01 execute with
02 java -jar AndroidKeystoreBrute.jar <args>
03 possible args
04 -m <1..3> Method
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
10 -h prints helpscreen
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)
16  
17 java -jar AndroidKeystoreBrute_v1.05.jar -m 3 -k "C:\\mykeystore.keystore" -d "wordlist.txt"

开始我用的是方法一,跑了一宿,也没跑完。默认的字母组合的密码太多了,用这种方法破解出密码太渺茫了。
后来我尝试使用方法三,其实我没注意,官方推荐就使用方法三:           先创建一个txt,比如passlib.txt: 在文本文档里输入自己常用的设置密码的短语,或者你隐约记得当初创建时可能用到的单词,反正能想到的统统写下来:

1 helloworld
2          ILoveYou
3          java
4          android
5          com.ldxx.firstapp

然后执行:

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

时间: 2024-08-20 17:18:51

Android打包key密码丢失找回的相关文章

Linux 用户密码丢失找回方法

Linux 用户密码丢失找回方法: 我的CentOS 6.4是安装到virtualBox虚拟机上的,解决如下: 在开机启动的时候按键盘上的"E"键或者"ESC"键,会进入如下界面. 选择相应的内核,再次按"E",出现下图,选择第二项,再次按"E"键 3. 经过第二步,这个画面可以编辑,在信息的最后加"空格",直接输入数字的"1"(如图)或者键入"single"也行,回

Android之找回打包key密码的方法

昨天准备给自己的应用发布一个新版本,在apk打包时,发现之前的用的keystore密码忘了.蛋碎了一地,我把我所能想到的密码都试了一遍(注:我平常在各个门户网站注册基本上用的都是那几个字母和数字组合做密码),无果.折腾到凌晨一点半,死的心都有了.Google和百度搜个底朝天,也没找到解决办法,Stackoverflow上的大牛们说,只有两个办法:1.想出密码 :2.重新修改包名,重新生成keystore,重新发布一个新的应用.后来在知乎上看到有人给出一个链接,抱着试试看的态度进去看了一下,结果真

Linux 6.8 root密码丢失找回

一.启动系统,连续两次按e 进入编辑模式如图 二.选择kernel选项按e进入编辑模式如图三.在quiet后面 空格 输入1或single回车返回ry如图 四.按b进入单用户模式(Press 'b' to root)如图五.passwd更改root密码重启系统OK 如图 原文地址:http://blog.51cto.com/11956937/2060927

linux 5.7.20和5.6.38版本 数据库忘记root密码怎么找回?

1.    5.6.38版本的数据库密码丢失找回方法: 第一步.关数据库 第二步:mysqld_safe --skip-grant-tables --skip-networking & 第三步:mysql安全模式下登录数据库 update mysql.user set password=PASSWORD('123456') where user='root' and host='localhost';      此处调用了一个PASSWORD的函数 select user,password,ho

RN在Android打包发布App

参考资料:http://www.jianshu.com/p/b8811669bcb6 RN在Android打包发布App 1-:生成一个签名密钥你可以用keytool命令生成一个私有密钥.在Windows上keytool命令放在JDK的bin目录中(比如C:\Program Files\Java\jdkx.x.x_x\bin),你可能需要在命令行中先进入那个目录才能执行此命令.在mac上,直接进入项目根目录输入一下命令: $ keytool -genkey -v -keystore my-rel

转:如何转换Android打包用jks格式keystore证书为Air用pkcs12格式p12证书

转自:http://blog.k-res.net/archives/1539.html 如何转换Android打包用jks格式keystore证书为Air用pkcs12格式p12证书 六月 11, 2013  |  Posted by K-Res 由于受到Flash先进的Stage3D技术以及Unreal Epic Citadel演示的诱惑,决定试用一下Flash Builder的跨平台性能,顺利运行Starling 2D框架demo后决定打包上设备一试,遂即发现Air的跨平台导出Android

cocos2d-x android打包

游戏在iOS打包好之后,打包apk: 目前使用 -x 3.0 假如需要 修改 build_native.py 例如 NDK_ROOT 以及一些报错 修改android.mk 添加源文件 LOCAL_SRC_FILES := xxx 技巧:使用 ls 命令 ls 所有源文件,然后使用 sublime 之类工具快速添加 sublime 神器 编译 libs/armeabi/libcocos2dcpp.so 使用ant生成apk xxx-release-unsigned.apk 脚本(几行,懒得整理)

Ionic环境配置及android打包

环境搭建步骤: 1.安装node.js  这是为了使用npm来安装ant,cordova,ionic 验证是否安装好node.js的方法是在命令提示符中输入“node -v”     若出现版本号,证明安装成功. nodejs 中文网站 http://nodejs.cn/ 下载安装就可以了   安装步骤可以参考 http://www.runoob.com/nodejs/nodejs-install-setup.html 2.下载jdk,并配置java环境(网上教程很多)      验证是否安装好

MySQL忘记root密码的找回方法

(1)登录到数据库所在服务器,手工kill掉MySQL进程: kill ' cat /mysql-data-directory/hostname.pid' 其中,/mysql-data-directory/hostname.pid指的是MySQL数据目录下的.pid文件,它记录了MySQL服务的进程号. (2)使用--skip-grant-tables选项重启MySQL服务: [[email protected] mysql]# ./bin/mysqld_safe --skip-grant-ta