Androidアプリケーションを配布する場合は何らかの形で署名されており、デバッグ版であればDEBUG KEYが、リリース版であればRELEASE KEYが利用されます。これら署名に基づいて、AndroidのOS側でインストールや更新確認が行われます。 今回は、Androidアプリケーションの自己署名をアプリ自身で検証(Verify)する方法を紹介します。 以下に紹介する内容は仕組みは簡単で完全ではありませんが、改ざん、再署名による二次配布対策として、カジュアルなアプリケーション改ざんには非常に有用な手段です。 署名の検証以外にも意図しない使い方を防ぐ方法はいくつかあり、パーミッションの変更検出などがあります。 Androidアプリケーションのパーミッション改竄を検知するスニペット via @sys1yagi パーミッションに関しては、sys1yagiさんのサイトが詳しいのでそちらを参考に