Android のバックアップファイルを展開する

Android 4.0 以降?でサポートされた adb backup で生成されるファイルを展開してみた。AOSP とか読まずにネットで拾った情報からだが, 先頭にヘッダが入る ヘッダ以降は,データ群を tar 形式でまとめたものを zlib 形式で圧縮 (アルゴリズム: RFC 1951 De…

Acer Iconia TAB A500 に Stock ROM 3.2 をインストール

基本的に個別の端末については言及しないつもりでいたのだが,ネタもないことであるし,これからは書いていくことにする。 A500 にはさまざまなカスタム ROM がでまわっているのでそれを使えばまぁそれほど不自由はない (らしい) のだが,システムがどのよう…

APK ファイルの署名の仕様

APK ファイル (や一部の jar ファイル) において利用される「署名」の内部仕様について解説し,およびアルゴリズム的に OpenSSL 等を利用して自力で署名をおこなってみる。誰得企画であるが,せっかく調査した (そして署名つき JAR ファイルの仕様のひどさに…

DEX 版 strings

DEX ファイルから可読文字列を抽出するコードを,ちょっとした必要があって書いた。もちろん classes.dex に strings をかけるだけでも目的は達成されるが,DEX ファイルには文字列識別子を集めたセクションが存在するので,そこをダンプするとより正確に文…

edify script 文法大全

注意: 以下の記述は Froyo (2.2) 時点のソースに基づくリカバリモードのアップデータ (update.zip) で使われるアップデータスクリプトは Donut (1.6) 以降 edify というミニスクリプトが採用されている。 edify の文法はおおまかに次のような特徴をもつ。 一…

リカバリイメージの解体と再構築

フラッシュメモリストレージへの直接アクセス - urandroid の続き。なお,たいていの Android 端末ではリカバリイメージと通常のブートイメージは同じ構造をしている*1。リカバリ時であっても Linux カーネルが立ち上がり,通常のブート時と異なる /init.rc …

bootanimation について

bootanimation の機構 /init.rc の下記部分でブートロゴアニメーションサービスを起動している。 service bootanim /system/bin/bootanimation user graphics group graphics disabled oneshot/system/bin/bootanimation のソースは,Android のソースツリー…

Android のブートモード

通常ブート MTD の boot 領域をルートツリーとし,system, userdata, cache 等をマウントして起動する。 リカバリーブート MTD の recovery 領域をルートツリーとする。他のブロックをマウントするかどうかは知らない。 起動方法 なんらかの物理キーの組み合…

フラッシュメモリストレージへの直接アクセス

主な参考資料: HOWTO: Unpack, Edit, and Re-Pack Boot Images - Android Wiki Android 端末では MTD サブシステムを経由してフラッシュメモリストレージを利用している。MTD については http://tiki.is.os-omicron.org/tiki.cgi?c=v&p=MTD 参照。とある実機…