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)密码终极解决方案的更多相关文章

  1. WEB网站发布服务器IIS报错问题终极解决方案,查到问题点

    4本次错误webservice发布新服务器后,出现此错误. 解决方法: 找到dmp文件 dmp文件是啥?自己百度.简单的说就是黑匣子,记录程序崩溃前的操作,那么如何找到这个黑匣子呢? 1.启动 Win ...

  2. Android Studio apk打包,keystore.jks文件生成,根据keystore密钥获取SHA1安全码

    keystore.jks文件生成,打包APK 选择Build > Generate Signed APK 出现如下弹框: 然后点击Create new...(创建的意思)出现另一个弹框,在做如下 ...

  3. Android Eclipse keystore.jks文件生成,根据keystore密钥获取SHA1安全码 ,apk打包

    keystore.jks文件生成,打包APK 选中项目右键-> Android Tools->Export Signed Application Package ,如图: 之后 点击Nex ...

  4. 修改Android签名证书keystore的密码、别名alias以及别名密码

    Eclipse ADT的Custom debug keystore自定义调试证书的时候,Android应用开发接入各种SDK时会发现,有很多SDK是需要靠package name和keystore的指 ...

  5. 【Android】Android 手机忘记锁屏密码的解决办法

    对于忘记Android锁屏密码的筒子们,除重新刷包或者wipe data外,还可用adb来删除密码: 方法很简单 1.手机连接电脑,不要打开数据连接,在充电模式下进行. 2.在电脑上,解压adb.zi ...

  6. Android忘记锁屏密码如何进入手机?

    Android忘记锁屏密码如何进入手机?     1.关闭手机 2.进入recovery模式(即恢复模式,记住不是挖煤模式.进入恢复模式不同手机有不同方法,三星的话安主页键,关机键和音量+(或-键), ...

  7. 转:修改Android签名证书keystore的密码、别名alias以及别名密码

    转自:http://blog.k-res.net/archives/1671.html 二月 5, 2014  |  Posted by K-Res   之前在测试Eclipse ADT的Custom ...

  8. 我的Android进阶之旅------>修改Android签名证书keystore的密码、别名alias以及别名密码

    转载于:http://blog.k-res.net/archives/1229.html  和 http://blog.k-res.net/archives/1671.html ADT允许自定义调试用 ...

  9. Android平台签名证书(.keystore)生成指南

    来源:https://ask.dcloud.net.cn/article/35777 Android平台签名证书(.keystore)生成指南 分类:HTML5+ Android证书 Android平 ...

随机推荐

  1. mac sublime3 无法安装Package Control

    一.在线安装 1.打开sublime,Ctrl+` 打开控制台, 输入 import urllib.request,os,hashlib; h = '6f4c264a24d933ce70df5dedc ...

  2. 团队Scrum冲刺阶段-Day 6

    选择困难症的福音--团队Scrum冲刺阶段-Day 6 今日进展 编写提问部分 游戏分类的界面全部写完了!!!! 临时大家决定没有BGM的app不是一个完整的app,所以在大家共同学习的努力下,听完四 ...

  3. [树上倍增+二分答案][NOIP2012]运输计划

    题目背景 公元 2044 年,人类进入了宇宙纪元. 题目描述 公元 2044 年,人类进入了宇宙纪元 L 国有 nn 个星球,还有 n-1n−1 条双向航道,每条航道建立在两个星球之间,这 n-1n− ...

  4. 图解Go select语句原理

    Go 的select语句是一种仅能用于channl发送和接收消息的专用语句,此语句运行期间是阻塞的:当select中没有case语句的时候,会阻塞当前的groutine.所以,有人也会说select是 ...

  5. Unity3D 在Update中不要过多地修改Transform 信息

    前文说到碰撞检测时候,不要在Update内部尝试移动GameObject 来检查碰撞检测,这样是徒劳无功.但是 说到 因为你移动的过程中其实并没有将实际的移动位置更新到物理引擎,只是做了个缓存而已, ...

  6. AndroidStudio 问题点 - app:preFUNDebugAndroidTestBuild

    Error:Execution failed for task ':app:preFUNDebugAndroidTestBuild'. >Conflictwith dependency 'com ...

  7. new Image().src资源重复请求问题

    const img = new Image(); img.setAttribute("crossOrigin", 'Anonymous'); img.src = url + '?t ...

  8. C++解题报告 : 迭代加深搜索之 ZOJ 1937 Addition Chains

    此题不难,主要思路便是IDDFS(迭代加深搜索),关键在于优化. 一个IDDFS的简单介绍,没有了解的同学可以看看: https://www.cnblogs.com/MisakaMKT/article ...

  9. mpdf-html转PDF,中文字符乱码、加粗问题

    $defaultConfig = (new ConfigVariables())->getDefaults(); $fontDirs = $defaultConfig['fontDir']; $ ...

  10. VS2015环境下生成和调用DLL动态链接库

    一.生成动态链接库: 1.打开VS2015->文件->新建->项目->Visual C++->Win32->Win32控制台应用程序->将名称改为dll_ge ...