zoukankan      html  css  js  c++  java
  • 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:UsersAdministrator.AndroidStudio2.3systemlog

    这里的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:UsersAdministratorlemon.jks,
    -Pandroid.injected.signing.store.password=*****,
    -Pandroid.injected.signing.key.alias=****,
    -Pandroid.injected.signing.key.password=****,
    -Pandroid.injected.apk.location=D:svn_codeLemonBanapp,
    -Pandroid.injected.signing.v1-enabled=true,
    -Pandroid.injected.signing.v2-enabled=true,
    --init-script, C:UsersAdministratorAppDataLocalTempasLocalRepo2.gradle]
    复制代码

    MAC平台:

    进入 Terminal, 定位 ~/Library/Logs -> AndroidStudioBeta ->idea.log.1 
    搜索 injected.signing.store

    taskArtifacts找回

     .gradle2.4 askArtifacts askArtifacts.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.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"

    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"

    java -jar AndroidKeystoreBrute_v1.07.jar -m 3 -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

  • 相关阅读:
    MySQL数据库之索引
    python面向对象编程
    linux端口占用
    lintcode
    java基础
    lintcode
    linux 常用命令
    Docker & Kubernates
    angular preparation
    java 命令行
  • 原文地址:https://www.cnblogs.com/adolfmc/p/10853353.html
Copyright © 2011-2022 走看看