投稿

ラベル(android)が付いた投稿を表示しています

Nova Air 純正マグネティックケースの物理キーをすべてのアプリで使えるようにする

イメージ
Nova Airのマグネティックケースについて Nova Airは純正ケースに物理キーがついているのが魅力の一つです。ケースと本体の接触部分に端子があり、ケースのボタンを押すと Androidから物理キーが押されたと認識されるようになっています。 つまり、ケースが外部キーボード的な役割を果たします。この物理キーは標準ではVolUp/VolDownに対応しています。 このおかげで、ボリュームキーによるページ送りに対応しているKindleアプリなどの電子書籍ビューアであれば、物理キーによるページ送りを利用することができます。 物理キーの制約 一方でボリュームキーによるページ送りに対応していないアプリもあります。この場合はAndroid標準のアクセシビリティ機能をつかったキーリマッピングアプリを使って、キー入力イベントを画面タップに割り当てればば、物理キーをページ送りに使えます。 しかしながら、NovaAirではボリュームキーに関してリマッピングが動作しません。アクセシビリティ機能のレベルで認識できないようで、どのアプリを使っても結果は同様です。ケースを買った後で気づきましたが、海外でも困っている人が大勢いるようです。 というわけで、これを動くようにしていきます。 注:ここで紹介する方法を使うと、物理キーはボリュームキーではなくなるので、キーリマッピングアプリを経由しないと物理キーは使えなくなります。 root の取得 まず、 BOOX Nova Air で root を取得する の手順に従ってrootを取得します。パッチ済みboot.imgをNANDに書き込んでいないtemprootの状態でも構いません。 ここで使ったadbコマンドは以後の手順でも使います。 キーマップファイルの取得 adb pull /system/usr/keylayout/gpio-keys.kl をコマンドプロンプトで実行しgpio-keys.klを本体から取得します。 キーマップファイルの編集 中身を編集します。もとの中身は以下のようになっていると思います。 key 115 VOLUME_UP key 114 VOLUME_DOWN key 102 HOME key 528 FOCUS key 766 CAMERA これを以下のように変更します。 key 1...

BOOX Nova Air で root を取得する

イメージ
BOOX Nova シリーズでrootを取得する方法を紹介します。 この記事ではNova Airを例に挙げていますが、Nova NoteやNova Leafなど、全てのNovaシリーズでも同じ方法でrootを取得できます。 初期イメージの取得 root取得済みのイメージを作成するため、初期イメージを取得します。初期イメージはブラウザから普通にダウンロードできます。 ダウンロードページはこちら です。 他の機種かつ発売直後でアップデートがまだない場合 アップデートがまだされておらず、ダウンロードページでファームウェアが見つからない機種の場合は、この 記事の法則に従ってOTAのURL を辿ります。 Nova Airの場合、一覧のURLは以下のようになります。 http://data.onyx-international.cn/api/firmware/update?where=%7B%22buildNumber%22:0,%22buildType%22:%22user%22,%22deviceMAC%22:%22%22,%22lang%22:%22en_US%22,%22model%22:%22NovaAir%22,%22submodel%22:%22%22,%22fingerprint%22:%22%22%7D この中で 2022年2月現在の最新ファームの場URLは以下です。 http://firmware-us.boox.com/83536cf3a6e7bc19112380c4ebb75477/update.upx イメージの暗号化解除と抽出 イメージは暗号化されているので、それを復号します。復号には decryptBooxUpdateUpx を利用します。decryptBooxUpdateUpxはPython 使って動くので Python を事前にインストール しておきます。 以下はNovaAirの場合の実行例です。 pip install pycryptodome python DeBooxUpx.py NovaAir update.upx 実行するとアップデートイメージの update.zip が得られます。普通の zip ファイルになっていますので、この中からboot.img 取り出します。 root 化済み boot.img の作成 ここからは一般的なb...

Xperia 1の縦長画面に非対応のアプリから余白を消す

イメージ
この記事ではアプリのapkを書き換えて21:9のような縦長画面に対応させる方法を紹介します。 最近はXperia 1のような縦長の画面をもつ端末が多く登場していますが、古いAndroid OS向けに作られたアプリを動かすと、下側に余白ができてしまいます。アプリ側が縦長画面に対応してくれれば問題はないのですが、更新が止まっているアプリの場合は利用者側で対処する必要があります。 今回この方法で縦長画面に対応させたアプリはRSS閲覧アプリの gReader Pro です。長らく更新が止まっていてPlayストアからの配信も停止されている状態ですが、代わりになる決定版のアプリが無く、まだ根強い人気があります。(私もinoreaderやFeedMeに移ってみたものの結局gReaderを使い続けています。) なお、対応作業を行うにあたって、rootの取得は不要です。 対応方法 以下のようにすればアプリケーションを縦長画面に対応させることができます。 1. apkを入手する Android アプリケーションのパッケージを入手し、PCに保存します。 APK Mirror のようなダウンロードサイトから入手するのが一番簡単ですが、有料のアプリやもう配布が終了しているアプリの場合は、次のようにして端末からapkを入手します。 端末をPCに接続してadbを使える状態にし、コマンドプロンプトから次のように入力し、目当てのアプリのパッケージ名を調べます。 adb shell pm list packages -f  パッケージ名を指定してapkファイルを転送します。 adb pull /data/app/ パッケージ名 /base.apk 2. APK Editor Studioをインストールする 以下のサイトからPC向けのインストーラを入手します。Windows用は apk-editor-studio_win32_1.4.0.msi のような名前になっています。 https://github.com/kefir500/apk-editor-studio/releases 3. APK Editor Studioにapkを読み込ませる APK Editor Studioを起動し、File → Open APK から先ほどPCに保存したapkファイルを読み込ませます。 読み込みが完了する...

Xperia 1 (802SO) のrootを何も失わずに取得する

イメージ
Xperia 1 (802SO) でbootloaderをunlockせずにrootを取得する方法を紹介します。rootは一時的な取得(temproot)ですが、Xperiaの独自機能を失わずに済みます。 今のところこの方法は802SOにのみ適用できますが、しばらく待てば他の国産機種にも適用できるようになるのではないかと思います。 bootloader unlockとの比較 bootloaderをunlockすることでもroot取得は可能 ですが、今回の方法と比較すると以下の点が違います。 〇 お金がかからない 〇 DRM Key を失わずに済むので Xperia の独自機能を使い続けることができる (詳しくはbootloader unlockの記事を参照) 〇 Has Ever Been Unlock のフラグを No のままにできる このフラグは一度bootloaderをunlockするとYesになり基本的には元に戻せません。 Yes の場合、修理の場合に余計に費用を請求されるなど、サポートの対応が変わる可能性があります × 特定のファームウェアバージョンを使い続ける必要がある ファームウェアアップデートは普段通りできるので、root取得後、一回だけTitaniumBackupの復元機能を使うような使い方であれば問題ありません × 再起動するとrootが失われる まだワンタップでroot取得するような仕組みはありませんので、AdAwayのようなアプリを常用する場合は再起動しない使い方をすることになります。 rootの取得手順 ファームウェアをダウングレードする このroot取得方法はLinuxカーネルの脆弱性 CVE-2020-0041 ( 解説 )を利用しています。そのため、この脆弱性があるファームウェア(セキュリティパッチバージョンが 2020年3月より前)で動作している必要があります。 802SOの場合、脆弱性が残っている最も新しいファームウェアは 55.1.B.0.202 ですのでこれを使います。他の機種の場合も xda-develpersのスレッド に書かれているバージョンのファームウェアが必要です。カーネルのバイナリが全く同じ場合は他のファームでも動作する可能性がありますが、基本的にはここに書かれていないバージョンでは動作しないと考えてください。 フ...

LGV31 isai VL で SIM ロックを解除 と VoLTE 端末の違い

LGV31 の SIM アンロック自体は LGL22/23/24 等とだいたい同じです。ただし、これらの含め最新の機種では SIM アンロックのためのプログラムが入っていませんので、必ず 10d ファームウェアにダウングレード してから作業して下さい。 NSCK コードの入手 SIM ロックの解除には NSCK コードの入手が必要です。NCK ではなく NSCK なのでこの点が LGL22/23/24 とは違います。 大抵は NCK コードの販売業者から入手できますが、普通は使わない物なので何も言わないと教えてくれない場合が多いようです。 eBay の業者に質問メールをばらまいてみたところ、以下の二つの業者から対応しているとの回答が得られました。 LG UNLOCK CODE OPTIMUS G2 G3 P920 720 510 ANY MODEL ANY NETWORK 15 MINUTES AT&T & T-Mobile LG UNLOCK CODE LG G2 G Flex Optimus G3 D850 ATT D851 私が利用したのは前者です。日本円で約 500 円程度ですので、Web サイトから買うよりは安いです。 購入後は端末が G3(LGV31 のベースモデル)であることと、IMEI 番号、NSCK コードが必要なことを伝えます。 SIM ロック解除メニューでの解除方法 QuickShortcutMaker  を使って、 com.lge.hiddenpersomenu を検索し  SIMロック解除プロセス  を起動します 2945#* は塞がれています ネットワークサブセットロック を選び  NSCK を入力します 考察 au の VoLTE 端末では専用の SIM カードが必要となっていますので、おそらくネットワークサブセットロックにて非 VoLTE 用の SIM カードをはじいているのでは無いかと予想します。この予想が正しければ、今後の VoLTE 端末では NSCK コードが必要と言うことになりそうです。 LTE バンドの選択 ドコモ網を利用する場合は、LTE のバンドを選択しておきます。 電話...

LGV31 isai VL で root を取得する

isai VL を中古で購入したので root 化に挑戦しました。結論から言うとネット上で公開されている LGL22/23/24 と同じ方法で取得することができました。以下詳細です。 10d ファームウェアの書き込み LGV31 には現在 root 取得可能な exploit は無いようです。従って、パッチを当てた初期ファームウェアを書き込む必要があります。 つまり、はじめから10dのファームウェアが書かれていても、改めて書き込むステップが必要になります。書き込みを行うとユーザデータも全て消去されますので事前に必要に応じてバックアップを取るようにして下さい。 必要なもの LGUnitedMobileDriver LG Flash tool を使うための PC 接続用ドライバ LG Flash tool 書き込みツール本体 MegaLock.dll LG Flash tool の利用制限を解除する DLL LG Flash tool のディレクトリに上書きして利用 LGV31_10d_tot+dll.zip Ver 10d ファームウェアと書き込み情報が入った DLL のセット D802TOT.exe ファームウェアのパッチプログラム D802 専用と思いきや LG 端末では汎用的に使える模様 使い方 画面写真付きで詳細に手順を説明したページが他にたくさんあるので、ここではポイントのみに絞ります。 ドライバをインストールしてから LG Flash tool を起動し Select Manual Mode を選択 このとき LGV31 は接続しないようにする 書き込み対象の選択画面で  LGV31_20141029_LGFLASHv189Z.dll と  LGV31AT-04-V10d-440-51-NOV-18-2014+0.tot  を選ぶ シリアルポートのアイコンをクリックして Multi Port Select  にて最初 1 のポートのみがチェックされるようにする → のアイコンをクリックする READY!! という表示になる LGV31 はまだ接続しない LGV31AT-04-V10d-440-51-...

HTL22 HTC J One SIM ロック解除方法が判明

中国のフォーラム で HTL22 HTC J One SIM ロック解除方法が公開されました。 misc パーティションを書き換える方法で、 HTL21 HTC J Butterfly のロックアプリ  と同じアプローチ方法のようです。 フォーラムからダウンロードするにはアカウント登録が必要なので、こちらにアップロードしなおしておきました。( 2158213jvcjv63lccgsbvi.rar ) bat ファイルが入っていますので、ダブルクリックするとロック解除処理が完了します。 なお HTL21 の場合と同様に S-OFF でなくなると効力を失うようです。ご注意ください。

HTL22 HTC J One SIM アンロック試行錯誤のまとめ

au にかえる割の条件変更の前に駆け込みで HTC J One を購入しました。(その後キャッシュバック祭りに乗れず結果として失敗だったわけですが・・・) この一つ前の機種である HTC J Butterfly は SIM フリーに出来るということなので、その後継機種もできるはず、ということで解除に挑んでみました。 が、初めての挑戦でうまく行かず手詰まりになってしまったので、同じ徒労感を味合う人が減ることを祈りつつ、試行錯誤の記録を残してみることにします。 方法をご存知の方いらっしゃいましたら、コメントもしくは @bb_qq までこっそり教えていただけると喜びます・・・(内緒にしますので・・・) 追記: 解除方法が公開されました。 以下の内容は root 取得+S-OFF 済み前提です。 Sprint 化 同じ CDMA の海外版の Sprint HTC One ではデバッグメニューを使った解除ができる ということなのですが、日本版では当然のごとく省かれていました。 そこで Sprint 版の ROM を焼いてみたのですが、ダメでした。 2ch に modem_st1/modem_st2 もアップされていた ので、ベースバンドと一緒に焼いて試してみましたがやはりダメでした。モデムが起動せずに一定時間後に再起動してしまいます。 エンジニアリング版 HBOOT の利用 GSM の HTC One では HBOOT を書き換えて、そこからデバッグ用のコマンドで SIM ロックが解除できる ようです。そこで ダメ元で試してみました が、やはりダメでした。 HTC J Butterfly 用ロック解除アプリの解析 一つ前の機種の HTL21 HTC J Butterfly では SIM ロック解除をワンクリックでできるアプリ がある、ということなので逆コンパイルして解析してみました。Windows 版はスクランブル化されているようなので、Android 版を dex2jar と jd を使いデコンパイルしました。 肝心なところはパスワード付きの zip ファイルをダウンロードするようになっていたので、これを力ずくで解析したところ、改造された radio.img と misc.img が出てきました。(暗号化強度の弱い zi...

SCL21 Galaxy S3 Progre の初期(Stock) ROM の入手方法

SCL21 Galaxy S3 Progre の初期(Stock) ROM は  sammobile  から普通にダウンロード出来ます。(要登録) 将来的に SCL21 がバージョンアップされて、sammobile から入手できない場合は、Kies でシステムを更新・上書きする際のテンポラリディレクトリから拾うことができます。 詳しい手順は google で Kies ファームウェア temp で検索 してみてください。 入手できた ROM(tar.md5) は odin3 で書き込むことができます。完全に初期状態に戻してそのまま使う場合は Triangle Away でカウンタをリセットするのを忘れないように注意してください。 でないとおサイフケータイが使えず、再度カスタムリカバリやカスタムROM を焼く羽目になってしまいます。

Adblock Plus for Android に日本用フィルタを組み込んでみた

android で広告を消すのには  Adblock Plus for Android  が便利です。非 root 環境でも制限付きではありますが、問題なく使えます。 一つ惜しいのは任意のフィルタを設定する機能がまだ無いので、日本用のフィルタを使うことができないところです。 というわけで、 ABP Japanese filters  をプリセットした勝手バージョンを作ってみました。 adblockplusandroid-1.1.2jp.apk せっかくなので作者の人に標準で組み込んでもらえないか聞いてみましたが、公式フィルタとして扱うのに十分な品質では無いため、受け入れられないとのことでした。残念。

SCL21 Galaxy S3 Progre で root を取得する

Galaxy S3 Progre を買ったのでメモ。 まずは下記の方法で root を取得しました。 http://forum.xda-developers.com/showthread.php?t=2150160 上記スレッドの中で出てくる CWM Recovery の最新版は以下にあります。 https://github.com/kbc-developers/release/wiki/sc06d これらのファイルで問題なく root は取得できるのですが、上記スレッドの中でも説明があるように画面が上下逆になってしまい使いにくいです。 そこでカーネルだけ SCL21 純正のものに差し替えたものを別途作りました。 https://sites.google.com/site/iroiromemofiles/home/SC06D-JB-KBC-20130428-AOSP_SCL21-recovery-odin.tar.md5 さて、これから SC-06D の成果を SCL21 でも使えるようにソースのマージを頑張ってみようと思いますが、単にマージしただけでは起動しなかったので道のりは長そうです。

IS01 で ad-hoc 接続を利用する

Twitter などで IS01 から ad-hoc 接続を使いたいという発言をよく見かけるので手順をメモしておきます。root 権限は必要ですが wpa_supplicant の置き換えは不要なので、リスクはまだ低いです。 1. root を取る 何はともあれ root にならないと ad-hoc 接続の設定はできません。 一回設定すれば後は root にならなくても ad-hoc 接続は利用できます。 私は 1.00.02 の時に exploid で root を取ってそのままなのですが、最新バージョンでこの方法は使えないようです。 最新バージョンでも使える方法があるらしいので、以下のページなどを参照してください。 http://f.orzando.net/wiki/index.php?ZakkiCho%2FIs01Root 2. 設定ファイルを編集する root を取ると無線の設定ファイルを読み書きできるようになりますが、ここでは一番万人向けと思われる内蔵エディタを使って編集する方法を紹介しておきます。 エディタは gEditor を使ってみます。(vi が使える方は vi で直接編集してください。) ダウンロードはマーケットからどうぞ。 エディタが用意できたら、設定ファイルを android アプリから読み書きできる場所にコピーします。 ターミナルアプリから root になって以下のコマンドを入力してください。 # chmod 666 /data/misc/wifi/wpa_supplicant.conf # cp /data/misc/wifi/wpa_supplicant.conf /sdcard このとき、念のため別の場所にもバックアップを取っておくとよいかもしれません。 次に gEditor のファイル-開くから /sdcard/wpa_supplicant.conf を開き、以下の内容を末尾に追加します。 network={     ssid=" WiFiSnap "     key_mgmt=NONE     auth_alg=SHARED     wep_key0=" 1234...