Android 11以降のパッケージ可視性制限回避ツール

Security

概要

Android 11(APIレベル30)から導入されたパッケージ可視性制限は、プライバシー保護のために他のアプリの存在や情報へのアクセスを制限する重要なセキュリティ機能です。しかし一方で、正当な目的で他アプリの情報を取得する場合にも制限がかかるため、開発者やリサーチャーにとっては制約となっています。本リポジトリ「Anti-Package-visibility-filtering」は、こうした制限をフック技術により回避するモジュールを提供し、アプリケーションコードを一切変更することなく、システムのパッケージ可視性関連APIの挙動を操作可能にします。Javaで書かれた本モジュールは、Hookフレームワーク上で動作し、Android 11以降の環境で効果的にパッケージ可視性制限を解除する手法を提供します。

GitHub

リポジトリの統計情報

  • スター数: 12
  • フォーク数: 1
  • ウォッチャー数: 12
  • コミット数: 12
  • ファイル数: 12
  • メインの言語: Java

主な特徴

  • Android 11以降のパッケージ可視性制限をフックによって回避
  • 対象アプリのコード改変不要で適用可能
  • システムレベルのAPIをフックしてパッケージ情報取得を可能にする
  • Javaベースでシンプルかつ汎用的な実装

技術的なポイント

Android 11から導入されたパッケージ可視性制限は、アプリが他のアプリの情報を取得する際に、明示的に許可されたパッケージのみを見えるように制限する仕組みです。具体的には、PackageManagerのAPI呼び出しに対して、許可されていないパッケージは検索結果から除外されるなどの挙動が実装されています。これにより、ユーザープライバシーの向上が図られていますが、開発者が正当な理由で他アプリの情報を取得したい場合に大きな障壁となることもあります。

このリポジトリで提供される「Anti-Package-visibility-filtering」は、Hookフレームワークを利用してAndroidのシステムAPIを介入し、パッケージ可視性制限ロジックをバイパスします。具体的には、PackageManagerのメソッド呼び出しをフックし、制限前の本来のパッケージ一覧や情報を返すように動作を変更します。これにより、対象アプリの改修なしにシステムレベルでの制限を回避でき、開発やリサーチにおける利便性が飛躍的に向上します。

技術的に注目すべき点は、Androidのセキュリティ機構に深く介入しているにも関わらず、フックモジュールとして独立性を保ち、かつ安定して動作する点です。Javaで実装されているため、Android環境との親和性が高く、Hookフレームワークの恩恵を最大限に活かせます。また、システムAPIの挙動を動的に書き換えるため、OSのバージョンアップにも一定の柔軟性を持って対応可能です。

さらに、本モジュールはパッケージ可視性に関する制限を突破することを目的としていますが、同時にAndroidのセキュリティモデルを理解し、正しい利用に基づく技術であることが求められます。開発者はこのツールを利用する際に、ユーザーのプライバシー権や法的な制約を十分に考慮する必要があります。

まとめると、「Anti-Package-visibility-filtering」はAndroid 11以降の厳格なパッケージ可視性制限を回避するための実用的かつ先進的なフックモジュールであり、システムAPIレベルでの介入を通じて、アプリケーションの改変なしに他アプリの情報アクセスを実現します。これにより、開発やセキュリティリサーチの幅が広がるとともに、Androidのセキュリティ構造を理解する上でも貴重な教材となります。

プロジェクトの構成

主要なファイルとディレクトリ:

  • .github: dir(GitHubのワークフローやIssueテンプレート)
  • .gitignore: file(Git管理対象外ファイル設定)
  • .idea: dir(IntelliJ IDEAの設定ファイル)
  • README.md: file(プロジェクト概要や使い方)
  • app: dir(モジュールのメインソースコード)
  • build.gradle: file(ビルド設定)
  • gradle: dir(Gradle関連ファイル)
  • proguard-rules.pro: file(難読化設定)
  • LICENSE: file(ライセンス情報)
  • settings.gradle: file(Gradleプロジェクト設定)
  • gradlew, gradlew.bat: file(Gradleラッパースクリプト)
  • …他数ファイル

まとめ

Android 11+の制限をフックで巧みに回避する実用的なツール。

リポジトリ情報: