android发布新版忘记keystore(jks)密码终极解决方案
android app签名是使用的keystore文件/jks文件,如果是eclipse是keystore,android studio则是jks,如果忘记了的话很悲催:
1、找到密码
2、改应用的包名,重新生成keystore文件,重新发布新的应用
方案2对于应用开发者肯定是巨大的灾难了吧
首先来介绍下找回密码的几种方式
android log找回
如果之前有使用过android studio打包过,那么android studio会把相关信息输出到og文件中
Windows:
进入到C:\Users\Administrator\.AndroidStudio2.3\system\log
这里的Administrator是你当前系统的用户名,.AndroidStudio2.3为android studio的生成目录(注意是隐藏文件,需要在文件夹选项中显示隐藏的文件开启)
打开idea.log文件,搜索Pandroid.injected.signing.store关键字,即可得到相关的信息
[--configure-on-demand, -Pandroid.injected.invoked.from.ide=true,
-Pandroid.injected.signing.store.file=C:\Users\Administrator\lemon.jks,
-Pandroid.injected.signing.store.password=*****,
-Pandroid.injected.signing.key.alias=****,
-Pandroid.injected.signing.key.password=****,
-Pandroid.injected.apk.location=D:\svn_code\LemonBan\app,
-Pandroid.injected.signing.v1-enabled=true,
-Pandroid.injected.signing.v2-enabled=true,
--init-script, C:\Users\Administrator\AppData\Local\Temp\asLocalRepo2.gradle]
MAC平台:
进入 Terminal, 定位 ~/Library/Logs -> AndroidStudioBeta ->idea.log.1
搜索 injected.signing.store
taskArtifacts找回
.gradle\2.4\taskArtifacts\taskArtifacts.bin对应文件有相关信息,但是这种方式在Gradle 2.10之后失效了
Android Keystore Password Recover找回
【依赖运行环境】: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
java -jar AndroidKeystoreBrute_v1..jar -m -k "C:\\keystore.jks" -start AAAAAA
【字典破解】
所谓“字典”就是给密码锁定某个范围,比如英文单词以及生日的数字组合等,所有的英文单词不过10万个左右这样可以大大缩小密码范围,很大程度上缩短了破译时间。wordlist.txt为字典文件,命令:
java -jar AndroidKeystoreBrute_v1.07.jar -m 2 -k "C:\keystore.jks" -d "wordlist.txt"
java -jar AndroidKeystoreBrute_v1..jar -m -k "C:\keystore.jks" -d "wordlist.txt"
【智能词表破解】--优先推荐
智能词表是根据你给定的词,然后进行随机组合进行碰撞。先建个txt存放你觉得密码可能包含的某些字母或者数字等组合,然后输入命令:
java -jar AndroidKeystoreBrute_v1.07.jar -m 3 -k "C:\keystore.jks" -d "wordlist.txt"
java -jar AndroidKeystoreBrute_v1..jar -m -k "C:\keystore.jks" -d "wordlist.txt"
执行结果:
重置密码
如果上面三种方式都没效果,可以使用下面这种方法来重置keystore(jks)密码:
1、下载附件中的文件
2、配置好JDK的环境
3、保证keystore(jks)文件和下载的附件中的文件在同一目录
4、运行 javac ChangePassword.java
5、运行java ChangePassword <keystore file> <new keystore file>
参考链接:
https://www.jianshu.com/p/91f58b632848
https://www.c-sharpcorner.com/blogs/forgot-keystore-passwordjks-file-you-can-still-recover-it
android发布新版忘记keystore(jks)密码终极解决方案的更多相关文章
- WEB网站发布服务器IIS报错问题终极解决方案,查到问题点
4本次错误webservice发布新服务器后,出现此错误. 解决方法: 找到dmp文件 dmp文件是啥?自己百度.简单的说就是黑匣子,记录程序崩溃前的操作,那么如何找到这个黑匣子呢? 1.启动 Win ...
- Android Studio apk打包,keystore.jks文件生成,根据keystore密钥获取SHA1安全码
keystore.jks文件生成,打包APK 选择Build > Generate Signed APK 出现如下弹框: 然后点击Create new...(创建的意思)出现另一个弹框,在做如下 ...
- Android Eclipse keystore.jks文件生成,根据keystore密钥获取SHA1安全码 ,apk打包
keystore.jks文件生成,打包APK 选中项目右键-> Android Tools->Export Signed Application Package ,如图: 之后 点击Nex ...
- 修改Android签名证书keystore的密码、别名alias以及别名密码
Eclipse ADT的Custom debug keystore自定义调试证书的时候,Android应用开发接入各种SDK时会发现,有很多SDK是需要靠package name和keystore的指 ...
- 【Android】Android 手机忘记锁屏密码的解决办法
对于忘记Android锁屏密码的筒子们,除重新刷包或者wipe data外,还可用adb来删除密码: 方法很简单 1.手机连接电脑,不要打开数据连接,在充电模式下进行. 2.在电脑上,解压adb.zi ...
- Android忘记锁屏密码如何进入手机?
Android忘记锁屏密码如何进入手机? 1.关闭手机 2.进入recovery模式(即恢复模式,记住不是挖煤模式.进入恢复模式不同手机有不同方法,三星的话安主页键,关机键和音量+(或-键), ...
- 转:修改Android签名证书keystore的密码、别名alias以及别名密码
转自:http://blog.k-res.net/archives/1671.html 二月 5, 2014 | Posted by K-Res 之前在测试Eclipse ADT的Custom ...
- 我的Android进阶之旅------>修改Android签名证书keystore的密码、别名alias以及别名密码
转载于:http://blog.k-res.net/archives/1229.html 和 http://blog.k-res.net/archives/1671.html ADT允许自定义调试用 ...
- Android平台签名证书(.keystore)生成指南
来源:https://ask.dcloud.net.cn/article/35777 Android平台签名证书(.keystore)生成指南 分类:HTML5+ Android证书 Android平 ...
随机推荐
- [精华][推荐]CAS SSO实现单点登录框架学习源码
1.通过下载稳定版本的方式下载cas的相关源码包,如下: 直接选择4.2.1的稳定代码即可 2.我们项目中的版本版本使用maven apereo远程库去下载 通过远程maven库下载cas-serve ...
- logstash 默认时间少8小时的修改办法
logstash 的配置文件添加 filter { ruby { code => "event.set('timestamp', event.get('@timestamp').tim ...
- VB编程中的“Abs”是什么意思?
c = Val(Text1.Text) '将Text1中的值赋给cIf c = Abs(a - b) Then 'Abs(a - b)是a和b间的差(正数),判断c是否等于该差值f = f + 10 ...
- Mysql常用命令 详细整理版
Mysql常用命令 show databases; 显示数据库 create database name; 创建数据库 use databasename; 选择数据库 drop database na ...
- ibatis中的resultMap
优点: resultMap可以实现一种功能 当你是1对多 这种多张表查询的时候 你没办法 通过表连接来实现一个集合设置到一个实例里,但是通过resultMap里可以做到 根据关联的字段 查询到一个集合 ...
- JSP页面使用include指令出现 Duplicate local variable basePath
现有三个页面 " include.jsp " " a.jsp " " b.jsp " 页面代码如下 首先是a.jsp <%@ page ...
- Day06 (黑客成长日记) 初识函数和返回值的作用
定义函数: 1.初识函数: 我们在学习字符串时,有这样的操作: li = 'tsy be ba bvake ' print(len(li)) 这样可以打印出li的长度,我们利用了python中的len ...
- nginx的锁
一.原理 nginx的锁是基于共享内存实现的,这点跟redis中利用一个存储(也就是一个键值对)来实现锁的原理是一致的,每一项操作通过检查锁对象的lock域是否为0,来判断能否获取锁并尝试获取锁. 二 ...
- STM32-跑马灯实验
实验环境: STM32开发板 Keil uVision4 FlyMcu.exe 一. 建立文件夹 1.建立跟文件夹"BASE"(名称任意),再在其下建立四个子文件夹 2. 在&qu ...
- docker 配置 http 访问
编辑docker宿主机文件/lib/systemd/system/docker.service sudo vi /lib/systemd/system/docker.service 修改以ExecSt ...