---
title: "万策尽きた時の Keystore パスワード復旧術：IDE のビルドログをハックする"
description: "最も遠い距離、それはパスワードが IDE の中にあるのに見ることができないことだ"
author: "kidneyweakx"
published: 2025-12-06T12:00:00.000Z
updated: 2025-12-19T01:11:45.444Z
lang: ja
tags: ["程式筆記", "Android"]
canonical: https://kidneyweakx.com/blog/catch-keystore-secret-by-gradle?lang=ja
alternate_zh_tw: https://kidneyweakx.com/blog/catch-keystore-secret-by-gradle.md
alternate_en: https://kidneyweakx.com/blog/catch-keystore-secret-by-gradle.md?lang=en
---

# 万策尽きた時の Keystore パスワード復旧術：IDE のビルドログをハックする

> **最も遠い距離、それはパスワードが IDE の中にあるのに見ることができないことだ**

多くの Android 開発者が、この絶望的な瞬間に直面したことがあるはずです。リリース版のビルドを準備しているとき、長い間入力していなかった Keystore のパスワードを忘れていることに気づくのです！Android Studio は親切にも「Remember passwords」を表示して自動入力してくれますが、表示されるのは `••••••••` だけで、頑なにプレーンテキストを見せてくれません。

Google に Upload Key のリセットを申請するか、あるいは総当たり攻撃（ブルートフォース）を仕掛けるしかないのでしょうか？

焦らないでください！Android Studio がパスワードを覚えている限り、Gradle を通じてそれを「インターセプト（傍受）」することができます。

### 仕組みの解説

**Generate Signed Bundle / APK** を実行するとき、Android Studio は Gradle が署名を行えるように、バックグラウンドでパスワードを Gradle に「注入（インジェクト）」する必要があります。私たちは `build.gradle` にコードを仕込んでこの動作を監視することで、ログにパスワードを出力させることができます。

#### 実装手順 (Kotlin DSL 版)

**ステップ 1：監視スクリプトの仕込み**

アプリ層の `build.gradle.kts` ファイルを開き、以下のコードをファイルの最後尾に貼り付けます。

Kotlin

```kotlin
// ==========================================
// パスワード取得スクリプト（使用後は必ず削除してください！！！）
// ==========================================
project.afterEvaluate {
    val storePass = project.properties["android.injected.signing.store.password"]
    val keyPass = project.properties["android.injected.signing.key.password"]

    if (storePass != null || keyPass != null) {
        println("\n========== [見つけました！パスワードはこちらです] ==========")
        println("Store Password: $storePass")
        println("Key Password:   $keyPass")
        println("=========================================\n")
    }
}
```

**ステップ 2：ビルドの実行**

1. Android Studio 上部メニューの **Build** > **Generate Signed Bundle / APK...** をクリックします。
2. 通常の手順に従い、Keystore のパスを選択します。
3. **重要なステップ：** 必ず **「Remember passwords」** にチェックが入っていることを確認してください（これにより IDE がパスワードを出力します）。
4. **Next** > **Create** をクリックしてビルドを開始します。

**ステップ 3：ログの確認**

ビルドが開始されたら、下部の **Build** タブを開き、左側の「Toggle view」（リストアイコン）をクリックしてテキストモードに切り替えます。

膨大なログの中からキーワード `見つけました` を検索します。

以下のような画面が表示されるはずです：

Plaintext

```
========== [見つけました！パスワードはこちらです] ==========
Store Password: your_lost_password_123
Key Password:   your_lost_password_123
=========================================
```

**ステップ 4：バックアップと削除（最重要！）**

パスワードの回収、おめでとうございます！

1. すぐにパスワードを 1Password や安全な場所に記録してください。
2. `build.gradle.kts` に追加した先ほどのコードを**直ちに削除**してください。
3. 万が一このコードが Git にコミットされてしまった場合は、Git の履歴を修正するか、パスワードが漏洩したものとして対処してください。

***

#### おわりに

この方法は Gradle の `project.properties` の仕組みを利用して、IDE から注入されたパラメータを直接読み取ります。特別な解析ツールをインストールする必要もなく、安全で迅速です。同じようにパスワードを忘れてしまった開発者の皆さんの助けになれば幸いです！
