【问题标题】:Android - Forgot keystore password. Can I decrypt keystore file? [duplicate]Android - 忘记密钥库密码。我可以解密密钥库文件吗? [复制]
【发布时间】:2012-02-12 06:40:42
【问题描述】:

我丢失了用于签署我的 apk 的 keystore 文件中的 password。我现在无法更新我的应用程序,我认为我必须通过使用新的密钥库对其进行签名来将其作为新应用程序发布。是否可以解密密钥库文件,因为我有密钥库文件并且密钥库文件中存在密码。或者任何人都可以向我提供用于暴力破解密码的程序链接。如果你们中的任何人能够恢复密钥库文件的密码,请分享您的方法。提前致谢。

【问题讨论】:

  • 这至少不能轻易做到。密钥库也不包含您的密码。它仅用于在运行时解密(一旦你想访问它)。
  • 感谢您的回复。我认为密钥库文件中有密码,因为这就是它在再次检查密钥库文件中存在的密码时验证输入密码的方式。
  • 不,这是错误的,你需要阅读一些关于密码学的文章。密码没有保存在那里,只有一个哈希值。但是harism是对的,如果您的密码长度超过4或5位,您就没有机会轻易破解它。
  • 不,它没有。与正确实施的用户数据库类似,它们仅存储某种密码哈希值,因此几乎不可能恢复实际密码。至于密钥库,我不知道确切的机制,但它们绝对不包含用户可读的密码。
  • 好的,谢谢回复。所以没有办法通过这种方式取回密码。我认为唯一剩下的选择是蛮力。

标签: java android


【解决方案1】:

我现在用这个来蛮力:Android keystore password recover

【讨论】:

  • 感谢您推荐这个工具!我发现自己处于类似的情况,我需要为一个我大约一年没有从事过的项目发布一些错误修复。我“有点”记住了密码,但它似乎不起作用。使用该工具及其“智能单词列表”功能,我能够在文本文件中记下一些猜测,它尝试了不同的单词排列、编号和大写选项,并在几秒钟内找到了我的密码。这个工具为我省去了很多麻烦。再次感谢!
  • 谁能告诉我如何恢复密码的步骤。
  • 这很尴尬...我的密码实际上是我放在单词列表中的单词之一。干杯!
  • 谢谢,真的很有帮助
  • @GB_Bhayaniツ 第 1 步:运行“java -jar 'thatJarFileDirectory'”。第 2 步:阅读终端上的说明。示例命令:“java -jar /Users/aowalhome/Downloads/Android_Keystore_Password_Recover_1.07.jar -m 3 -k /Users/aowalhome/Desktop/KEYSTORE//keystore.jks -d /Users/aowalhome/Desktop/dictioanry.txt - l 3"。 dictionary.txt 示例:users.cs.duke.edu/~ola/ap/linuxwords
【解决方案2】:

有 3 种方法可以恢复丢失的密钥库密码:

  1. 如果您的日志完好无损,那么您可以在 Android Studio 日志文件:转到 ~/Library/Logs -> AndroidStudio ->idea.log.1 并搜索 Search for "Pandroid.injected.signing.key.password" 可以看到密钥 密码。

  2. 您可以从 .gradle 目录中检索密码。 查看 .gradle\2.4\taskArtifacts\taskArtifacts.bin。这不 似乎适用于较新版本的 Gradle(2.10 及更高版本)。

  3. 使用 AndroidKeystoreBrute 猜测或暴力破解您的密码 Alex Kutsko's answer 以上。

Solution link

【讨论】:

  • 没有效果!在等待暴力破解完成时,我花了几天时间寻找其他方法来找回我的密码。如您所述,我的密码实际上已显示在日志中。生病了!
  • 通过对所有方法失去希望(因为我无法尝试蛮力,因为它需要几个月才能获得该密码)我试图找到上面显示的描述的密码。有一个密码,但我认为那是错误的并加密了一个。但是当我在一小时后尝试时。该死!!!!你救了我的命。我会投票,因为它救了我..非常感谢你,伙计!!!
  • “搜索 Pandroid.injected.signing.key.password”技巧适用于 Android Studio 2.2 及更早版本。它在 2.3 及更高版本的日志中被屏蔽了。 (幸运的是,我还有 2.2 的日志!)
  • 第一种方法我相信已经不行了,pass被替换为'*******'
  • 需要更新以让用户知道password 的所有实例在Android 3 中都被屏蔽了。
【解决方案3】:

我也有类似的问题!

有几种方法可以找到密码:

  1. 使用android studio的日志文件
  2. 使用 taskArtifacts
  3. 使用暴力破解

http://techzog.com/development/android/retrieve-saved-keystore-password-android-studio/中提到了详细答案

如果以上方法都不起作用,有办法重置密钥库密码! 代码可用here

  1. 下载zip file here。

  2. 将 JAVA 安装到您的计算机中

  3. 将所有文件(密钥库、提取的 java 文件)保存在一个文件夹中

  4. 在那里打开命令提示符。 (Shift + RightClick -> 在此处打开命令窗口)

  5. 运行javac ChangePassword.java

  6. 运行java ChangePassword <keystore file> <new keystore file>

    例如java ChangePassword oldkey.jks newkey.jks

  7. 在询问时输入密码。记住新 jks 文件的新密码。

使用新密码打开 jks 文件

【讨论】:

  • 我就像(我不敢相信自己的眼睛)。在尝试了这种技术之后。它工作得很好。我希望我可以无限制地投票。谢谢@reverie_ss
  • 太棒了! @KennyDabiri
  • 你是救生员。这非常有效。太棒了!
  • 这太疯狂了!这怎么可能?
  • 它有效。但它还要求 android-app-key..
【解决方案4】:

已经离开 Android 开发及其 IDE 几个月了。

花了几个小时才发现我在第二次尝试时实际上输入了正确的密码。下一个对话框显示的错误图标与我输入了错误的密码完全相同——尽管它实际上说我需要输入所选密钥的密码!

与原始问题无关,但您可能已经输入了正确的密码! UI 设计就这么多。

【讨论】:

    【解决方案5】:

    我分享一个简单的方法,希望我的方法能解决你的问题。

    第一种方式-> 点击

    .gradle->最新的gradle版本->task histroy->taskHistory.bin

    第二种方式->

    .gradle->最新的gradle版本->taskArtifacts->taskArtifacts.bin

    【讨论】:

    • 这在 Android 3.0 中已过时
    • 就我而言,这还没有过时。密码在.gradle/4.4/taskHistory/taskHistory.bin 和.gradle/4.6/taskHistory/taskHistory.bin 中。
    【解决方案6】:

    破解密码最有效的方法是使用我与hashcat(密码破解软件)一起发布的工具:

    https://github.com/floyd-fuh/JKS-private-key-cracker-hashcat

    如果你有一个强大的显卡(GPU),破解会快得多。否则 hashcat 会占用你的 CPU。

    归结为以下两个命令:

    java -jar JksPrivkPrepare.jar your_JKS_file.jks > hash.txt
    ./hashcat -m 15500 -a 3 hash.txt
    

    之所以效率高,是因为它会直接破解私钥密码,而不是密钥库密码。它使用以前没有其他密码破解者使用过的算法。大多数密码破解者效率不高(因为他们将整个密钥存储文件计算到 SHA1 计算中),在最坏的情况下甚至可能破解密钥存储密码(可能不是可用于解密的私钥密码)钥匙)。如果您需要更多详细信息,可以阅读我写的 POC||GTFO 期刊文章,可以在此处或在其他各种免费镜像上找到:POC||GTFO journal - 15:12 Nail in the Java Key Store Coffin

    例如,如果您有 NVidia 1080 显卡,您可以在大约 8 小时内尝试所有长度为 8 的字母数字密码。

    【讨论】:

      【解决方案7】:

      请参阅KeystoreBreaker 以恢复丢失的密码。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-07-05
        • 1970-01-01
        • 2012-07-09
        • 2015-01-27
        • 2018-10-20
        • 1970-01-01
        • 1970-01-01
        • 2015-04-05
        相关资源
        最近更新 更多