Java学习者论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

手机号码,快捷登录

恭喜Java学习者论坛(https://www.javaxxz.com)已经为数万Java学习者服务超过8年了!积累会员资料超过10000G+
成为本站VIP会员,下载本站10000G+会员资源,购买链接:点击进入购买VIP会员
JAVA高级面试进阶视频教程Java架构师系统进阶VIP课程

分布式高可用全栈开发微服务教程

Go语言视频零基础入门到精通

Java架构师3期(课件+源码)

Java开发全终端实战租房项目视频教程

SpringBoot2.X入门到高级使用教程

大数据培训第六期全套视频教程

深度学习(CNN RNN GAN)算法原理

Java亿级流量电商系统视频教程

互联网架构师视频教程

年薪50万Spark2.0从入门到精通

年薪50万!人工智能学习路线教程

年薪50万!大数据从入门到精通学习路线年薪50万!机器学习入门到精通视频教程
仿小米商城类app和小程序视频教程深度学习数据分析基础到实战最新黑马javaEE2.1就业课程从 0到JVM实战高手教程 MySQL入门到精通教程
查看: 1439|回复: 0

[默认分类] android发布新版忘记keystore(jks)密码终极解决方案

[复制链接]
  • TA的每日心情
    开心
    2021-12-13 21:45
  • 签到天数: 15 天

    [LV.4]偶尔看看III

    发表于 2020-8-15 12:09:34 | 显示全部楼层 |阅读模式
    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关键字,即可得到相关的信息

    1. [--configure-on-demand, -Pandroid.injected.invoked.from.ide=true,
    2. -Pandroid.injected.signing.store.file=C:\Users\Administrator\lemon.jks,
    3. -Pandroid.injected.signing.store.password=*****,
    4. -Pandroid.injected.signing.key.alias=****,
    5. -Pandroid.injected.signing.key.password=****,
    6. -Pandroid.injected.apk.location=D:\svn_code\LemonBan\app,
    7. -Pandroid.injected.signing.v1-enabled=true,
    8. -Pandroid.injected.signing.v2-enabled=true,
    9. --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

    1. 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"

    1. 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"

    1. 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
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|手机版|Java学习者论坛 ( 声明:本站资料整理自互联网,用于Java学习者交流学习使用,对资料版权不负任何法律责任,若有侵权请及时联系客服屏蔽删除 )

    GMT+8, 2024-5-2 10:23 , Processed in 0.385347 second(s), 46 queries .

    Powered by Discuz! X3.4

    © 2001-2017 Comsenz Inc.

    快速回复 返回顶部 返回列表