アプリケーション署名検証: その仕組み、Xsolved で無効にする方法、およびそうすべきではない理由

click fraud protection

Xused Framework を使用して Android アプリケーション (APK) の署名検証を簡単に無効にすることができますが、ほとんどの場合、これを行うべきではありません。

システム アプリケーションを変更して再インストールしようとしたことがある場合は、おそらく何らかの形でアプリケーションの署名チェックに遭遇したことがあるでしょう。 続行する前に元のアプリを削除したか、古いアプリケーションを削除せずにインストールするために、変更した APK に別のパッケージ名を付けました。 どちらの場合でも、最初にアプリケーションをインストールするには、自分でアプリケーションに再署名する必要がありました。

アプリケーションの署名チェックを一時的に無効にすることで、これらの動作をすべて回避できます。 しかし、この記事の比喩的な肉じゃがに入る前に、その方法を説明します。 アプリケーションの署名チェック、その機能、およびその理由について少し説明することが重要です。 すべき 一度もない ほとんどの場合、それらを削除します。

Android 署名検証の基本

Android OS のデフォルトでは、 全て インストールするにはアプリケーションに署名する必要があります。 非常に基本的な用語では、これは、アプリケーションの署名がアプリケーションの作成者を識別するために使用されることを意味します (つまり 正当性を検証するだけでなく、同じ署名を持つアプリケーション間で信頼関係を確立します。 前者の場合、有効な署名を持つアプリケーションが期待される開発者からのものであることが (ある程度まで) 保証されます。 そして後者により、同じ秘密鍵で署名されたアプリケーションが同じプロセスで実行され、秘密データを共有することができます。 その後、アプリケーションのアップデートをインストールすると、Android OS はこの署名をチェックして次のことを確認します。 A) APK が 署名されてからの時間内に改ざんされている、B) アプリケーションの証明書が現在インストールされている証明書と一致する バージョン。

それでは、これらすべては現実の世界で私にどのような影響を与えるのでしょうか? 実にシンプルです。 Google Play ストアの外部から APK を入手し、現在インストールされているアプリのアップデートとしてインストールしようとすると (次を参照) 同じパッケージ名)の場合、OS はアプリケーションの証明書が同じ初期値からのものであることを確認するために検証を試みます。 開発者。 証明書が一致すると、アプリケーションのインストールは計画どおりに続行され、アプリケーションは既存のデータを保持し、すべてがうまくいきます。 署名が有効でない場合 (APK が改ざんされていることを示します)、または証明書が元のアプリの証明書と一致しない場合、インストールは失敗します。 また、前述したように、アプリケーション証明書は、前のバージョンの署名に使用されたのと同じ秘密キーで署名されている場合にのみ一致します。 つまり、APK と一致する有効な署名がある場合にのみ、アプリケーションをインストールできます。 コンテンツを更新し、その証明書が以前のバージョンで見つかったものと一致する場合にのみ更新をインストールできます。 アプリの。

[この内容の濃い記事のユーモアの余談として、プライベート アプリケーション署名キーが紛失または侵害された非常に公的な例が 1 つあります。 もちろん、私は Google 独自の Authenticator アプリについて言及しています。このアプリは、パッケージ名を から変更するアップデートを受け取りました。 com.google.android.apps.authenticator に com.google.android.apps.authenticator2 約2年前のアップデートで。 この変更により、その後のすべての Authenticator アプリの更新は、新しい秘密署名キーによって生成された新しい署名を使用して、新しいパッケージ名でのみ発行できます。]

署名検証を (一時的に) 無効にしたい理由

ここで、アプリケーションの署名検証を一時的に無効にする可能性のあるシナリオを見てみましょう。 この記事の冒頭で述べたように、既存のシステム アプリケーションを変更する場合、署名の検証は少し頭の痛い問題になることがあります。 システム アプリケーションの修正バージョンをインストールすると、有効な一致する証明書を使用してアプリケーションに署名できなくなります。 このような場合、通常は、まず既存のアプリケーションを削除してから、修正されたバージョンを通常どおりインストールします。 署名検証を無効にすることもできますが、署名検証を有効のままにし、新しいバージョンをインストールできるように古いバージョンを削除する方が良い (そしてより安全です)。 ただし、置き換えようとしているアプリに失いたくないデータが含まれている場合、これは少し問題になる可能性があります。 ルートアクセスを使用してデータを手動で保存し、それを新しいバージョンに移植する方法は確かにあります。 ただし、ユーザーは署名検証を一時的に無効にしてからチェックを再開することもできます。 その後。 あるいは、XDA 上級メンバーが指摘したとおり mcbyte_it コメントでは、これはアプリケーション開発にも役立ちます。

その方法

これまで、署名検証を無効にすることは、ほとんどすべての問題に対する恐ろしい解決策でした。 これを行うと、Android に組み込まれている保護機能を実質的に放棄することになるためです。 アプリケーションが改ざんされておらず、更新がオリジナルのものから行われていること 開発者。 しかし、Xused Framework の魔法のおかげで、署名検証を一時的に無効にし、変更したアプリケーションのインストールが完了したら再度有効にすることができるようになりました。 そのような Xped モジュールの 1 つ まさにこれを実行できるツールが XDA シニア メンバーによって最近リリースされました パイラーであり、Xused を実行できるすべてのデバイスで計画どおりに動作します。 このようにすると、適切に署名されていない、変更されたアプリケーション アップデートをインストールしたい場合に、次のようにすることができます。 モジュールを有効にして再起動し、変更されたアプリケーションのアップデートをインストールし、モジュールを無効にして再起動して、元気に過ごしましょう 方法。

署名検証を一時的に無効にする方法がわかったので、署名検証がいかに重要であるかを繰り返し説明することが重要です。 無効にする非常に正当な理由がない限り、署名検証を常に有効にしておく必要があります。 それ。 したがって、このようなツールを実際に使用するのは、自分で作成したアプリケーションの更新を適用する場合のみにしてください。 酌量すべき事情によっては、最初に古いアプリケーションを単純にアンインストールするのではなく、アンインストールする必要があります。

安全を確保し、慎重に使用してください。