ASEC ファイル形式とは?
.asecファイルは、内部的にフォーマットされ暗号化されたループバックコンテナイメージとして、暗号化および保護されたAndroidアプリケーションデータを保存します。.asecファイルは、アプリケーションの転送中またはSDカードへのインストール中に作成されます。その後、不正なアクセスや改ざんを防ぐために.apkパッケージが暗号化されます。.asecファイルは通常、SDカード上の.android_secureフォルダに保存され、Androidのvoldストレージデーモンによって/mnt/asec/にマウントされます。.asec形式は、2010年にAndroid 2.2 «Froyo»(外部メモリへのアプリインストールを初めて許可したバージョン)で導入されました。この技術は、暗号化キーが元のデバイスに紐付けられているため、有料アプリケーションを他のデバイスにコピーすることを防ぐために実装されました。
アプリを電話の内部メモリに戻すと、.asecコンテナが復号され、アプリケーションは標準の.apkファイルに復元されます。暗号化キーはデバイス固有であり、Androidのvoldデーモンによって管理されているため、.asecファイルを別のAndroidデバイスに移動して実行することはできません。この形式は、Android 6.0 Marshmallow(2015年)で導入されたAdoptable Storageによって正式に取って代わられました。これはSDカードを暗号化してデバイスの内部ストレージプールに直接統合するもので、現代のAndroidバージョンでは.asecコンテナはほぼ廃止されています。.obbファイル(大規模なアプリ拡張データに使用)は、SDカード上のコンパニオン形式として引き続き使用されています。
セキュリティと安全性
リスク: LOW.asecファイルはファイル単体としては無害です。暗号化されデバイスに紐付けられたコンテナであり、電話以外で実行したり開いたりすることはできないため、PC上で直接的なマルウェアのリスクはありません(そこでは単なる読み取り不可能なデータです)。実質的なリスクはデータの損失です。これらはシステムファイルであり、削除したりSDカードを再フォーマットしたりすると、カードに移動されたアプリが削除され、暗号化キーが元のデバイスにあるため通常は復元できません。.asecコンテナを編集したり«クラック»しようとしたりしないでください。また、そこからインストール可能なAPKを抽出できると主張するツールは無視してください。それらは詐欺やマルウェアです。アプリが必要な場合は、PlayストアまたはそのAPKから再インストールしてください。
形式の詳細
概要ASEC ファイルを開くプログラム
技術的詳細
詳細仕様| コンテナタイプ | 内部的にext4でフォーマットされた暗号化ループバックディスクイメージ。Android OSによって仮想ブロックデバイスとしてマウントされる |
| 暗号化アルゴリズム | CBCモードのAES-128。Linuxのdm-cryptサブシステムを介してAndroidの`vold`デーモンによって適用される |
| キー管理 | 作成時にコンテナごとに生成されるキー。内部ストレージの`/data/misc/systemkeys/`に保存され、SDカード自体には書き込まれない |
| マウントメカニズム | `vold` / `MountService`がLinuxのループデバイスとデバイスマッパー(`dm-crypt`)を介してイメージをアタッチする。復号された内容は、インストールされたアプリから通常のディレクトリとして見える |
| マウントポイント | `/mnt/asec/<package-name>-<n>/` - デバイスのロックが解除され実行されている間、復号されたアプリコンテンツはこのパスでアクセス可能 |
| SDカード上の場所 | `/.android_secure/` - FAT32形式のSDカードのルートにある隠しフォルダ。標準のUSBマスストレージモードからは見えない |
| ファイル命名規則 | `<package-name>-<integer>.asec`(例:`com.example.app-1.asec`)。整数サフィックスはSDカードへの再インストールごとに増加する |
| MIMEタイプ | `application/octet-stream` - 専用のMIMEタイプは登録されておらず、ホストOSからは不透明なバイナリデータとして扱われる |
| マジックバイト / ファイルシグネチャ | なし - 暗号化されたコンテナには読み取り可能なヘッダーがない。`.asec`拡張子と`/.android_secure/`配下の場所によってのみ識別される |
| ポータビリティ(移植性) | ゼロ - 暗号化キーはデバイスに紐付けられている。他のデバイスにコピーされた`.asec`ファイルは復号もマウントもできない |
| コピー保護メカニズム | 復号キーがデバイスごとに派生するため、元のデバイスなしではコンテナを永続的に読み取り不可能にすることで、有料アプリの再配布を防止する |
| サポートされているAndroidバージョン | Android 2.2 «Froyo» (API 8) から Android 5.1 «Lollipop» (API 22) まで。Android 6.0 Marshmallowで正式に非推奨 |
| 後継形式 | Adoptable Storage (Android 6.0+, API 23)。SDカード全体をデバイス独自の暗号化された内部ストレージプールに吸収する |
| ホストOSでの見え方 | PCでUSB経由でSDカードを読み取ると、`.asec`ファイルは不透明なバイナリファイルとして表示される。元のデバイスのキーがなければ、どのホストOSも内容を復号または検査することはできない |
| リリース日 | Android 2.2 'Froyo' (2010), as part of Apps2SD / 'move to SD card'; superseded by Adoptable Storage in Android 6.0 (2015) |
| オープンスタンダード | はい · ロイヤリティフリー |
| 仕様書 | source.android.com |
ASEC の変換
コミュニティ Q&A
ユーザーからの質問まだ質問はありません。ASEC ファイルについて最初の質問をしてみましょう。