GooglePlayに登録するAndroidアプリの署名、keystoreのパスワードを忘れた場合の対処法

Pocket

Google Playに登録するAndroidアプリの署名、keystoreのパスワードを忘れた場合の対処法。
あっちゃいけないとは思うのですが、あった場合。
基本次の二択のどちらかになると思う。

  1. 新しい署名で新しいアプリとして再度登録する(既存ユーザは更新できない)
  2. 頑張ってパスワードを思い出す

署名ファイル自体をなくしていたらもうアウトだと思う。たぶん。

このうち、2の方のオススメ。

  1. このjavaアプリをダウンロードする
    https://code.google.com/p/android-keystore-password-recover/wiki/HowTo
  2. ↑Java 7が必要なので、マックの皆様とかは、Java 7 downloadとかでググったほうが良いです。それ以外の方も入れる必要があります。MacでJava 7は微妙なので、使い終わったら戻したほうが良いです。(Java 7は64bit専用なため)
  3. 思いつく限りのパスワードに自分が入れそうな単語をピックアップする。
    全部テキストファイルに羅列する。単語毎改行。
  4. こんなかんじで使う
    java -jar AndroidKeystoreBrute_v1.02.jar -m 3 -k "C:mykeystore.keystore" -d "wordlist.txt"
  5. いっとき回してみて、見つからなかったら、
    a, b, c, d, ….z, 0, 1, 2, …9 とかも羅列してもよいかも。
  6. 見つかったら見つかったよ!的な感じで、パスワードが表示されます。

 

一応注意書きしておきますが、これはあくまで自分の署名ファイルにのみ使うべき手法です。
ブルートフォースアタック、もしくは辞書アタックなので、完全にアタック(クラック)です。

辞書アタックで見つからなければ、EC2で高速なインスタンスを生成して試行したほうが良いでしょう。Androidアプリのkeystoreは6文字以上なので、普通のマシンだと何時間あってもCPUタイムが足りないです。(上記記載のJavaアプリ、シングルスレッドなので、書き換えたほうがいいかも?5文字以下も検索するし無駄です。)

というわけで、メモ書きでした!困った人の助けになればと思います。

Pocket

Androidアプリの署名<KeyStore Keytool AndroidDebugKey> | android manifest configChanges にコメントする コメントをキャンセル

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です