投稿

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 115

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のスレッド に書かれているバージョンのファームウェアが必要です。カーネルのバイナリが全く同じ場合は他のファームでも動作する可能性がありますが、基本的にはここに書かれていないバージョンでは動作しないと考えてください。 フ

国産キャリア版Xperia 1 (802SO) のbootloaderをunlockしてrootを取得する

イメージ
Xperia 1 (802SO) でbootloaderをunlockしてrootを取得する方法を紹介します。 ここで紹介した方法はほかのキャリアのXperia 1や、過去の機種にも適用できるはずです。 分解も不要です。ただし、1台当たり約2200~3000円かかります。 注: この記事ではかなり危険なことをしています。注意をよく読んで自己責任で利用してください。 追記: bootloader unlock不要でrootを取得できる ようになりました。 bootloader unlockに関する補足 日本向けモデルは本来公式bootloader unlockやroot化ができない Xperiaは海外向けであれば、公式のunlock方法が用意されており、Sonyの開発者サイトで申し込みをすればbootloaderをunlockし、root化やカスタムカーネルのインストールをすることができます。 しかしながら、国内キャリア版のモデル(最近は非キャリアの一部国産モデルは標準でunlock化)はこの口が塞がれており、正攻法ではroot化やカスタムカーネルのインストールはできませんでした。 過去には古いAndroidバージョンであれば、脆弱性をつくことでroot化できる国内キャリア機種もありましたが、それでもカスタムカーネルのインストールはかなり困難でした。(一部の機種は蓋を外すことでかろうじて可能でした) 今回紹介する方法は、有料のツールを使う別の方法でbootloaderのunlockを行います。 DRM Key(TrimAreaの鍵)がなくなることに注意 Xperiaには動画再生やカメラの映像を高画質化するSony独自の機能が搭載されています。しかしながら、一度bootloader unlockをすると、これら機能を使うための鍵が消去されて使えなくなってしまいます。基本的には 元に戻せません 。 具体的に使えなくなる機能は以下になります。 X-Reality(動画の高画質化) カメラのノイズ除去、暗部コントラスト修正など DSEE+ ClearAudio 著作権保護コンテンツのTV出力(HDCP) NetFlix・AmazonVideoのHD再生(WideVine L1) 元に戻すには、あらかじめ公式ではなく脆弱性をつく方法でrootを一時的に取得し、TA領域をバックア

Synology ds918+ に 2.5Gbps / 5Gbps の USB LAN を接続する

イメージ
なぜ2.5Gbps の NIC を増設するのか? 近年 10GbE の普及が進んでおり NAS 側が 10GbE に対応するケースが増えてきています。Synology にも対応したラインナップがあるのですが、残念ながら DS918+ には PCIe スロットが無く、10GbE に拡張する手段も用意されていません。 DS918+自体は 1GbE のポートを二つ持っているので、内部設定を無理やり変更して SMB Multichannel を有効化すれば擬似的に帯域を 2Gbps にすることは一応可能です。しかしながら SMB Multichannel はまだベータ扱いで  oplock の処理が未実装 です。そのため有効化するにはリスクがあります。 どうやって増設する? QNAP や ASUSTOR であれば、PCIe スロットが無くても USB で 2.5GbE/5GbE を増設することが可能です。しかしながら、Synology は全てのラインナップにおいて USB LAN のドライバが削除されており、標準では USB 接続をサポートしていません。 そこで、2.5GbE のドライバを自身で追加することにしました。今回利用した製品は PLANNEX の USB-LAN2500R です。 PLANEX USB3.2 Gen1対応 有線LANアダプター USB-LAN2500R posted with カエレバ 楽天市場 Amazon Yahooショッピング この製品は REALTEKの RTL8156 を搭載していますから、 REALTEK のドライバ を入れれば良いことになります。 5Gbpsは? 他にもQNAPから5Gbpsに対応した QNA-UC5G1T も販売されています。 QNAP USB 3.0 to 5GbEアダプター QNA-UC5G1T QNA-UC5G1T posted with カエレバ 楽天市場 Amazon Yahooショッピング これを使えばさらなる性能向上が期待できるのですが、手元の構成ではストレージの方の性能があまり高くないことと、USB 3.2gen1(=USB 3.0) の 5Gbps(論理データ転送速度は 4Gbps)がボトルネックになって、 コストパフォーマンスもあまり良くなさそうだっ

PRO/1000 PT Dual Port Network Adaptor + Windows10 でチーミング

旧世代の Intel Gigabit Ethernet Adapter シリーズは安価で入手できますし、性能にも申し分ありません。そのため、イーサネットポートを手軽に増やしたい場合にはコストパフォーマンスが非常に高い選択肢です。 しかしながら、Windows10ではWindows付属のドライバでしか使えず、チーミングのような付加機能を提供するAdvanced Network Service機能は使えなくなっています。 https://www.intel.co.jp/content/www/jp/ja/support/articles/000025890/network-and-i-o/ethernet-products.html この記事では、以下のような旧世代のアダプタでAdvanced Network Service機能(ANS)を有効化する方法を紹介します。 Intel(R) PRO/1000 PT Dual Port Server Adapter Intel(R) PRO/1000 PF Dual Port Server Adapter Intel(R) PRO/1000 PT Quad Port Server Adapter Intel(R) 82566MM Gigabit Network Connection Intel(R) 82566DM Gigabit Network Connection Intel(R) 82566DC Gigabit Network Connection Intel(R) 82566MC Gigabit Network Connection HP 製ドライバのインストール https://support.hpe.com/hpsc/swd/public/detail?swItemId=MTX-8691c207d9e7423299e9a82dd9 から cp018229.exe をダウンロードしてインストールします。 このドライバは HP から OEM 販売されている Intel 製 NIC のドライバで、Windows Server 2012に対応したものです。 このドライバの バージョンは 9.15.17.0 になっており、Windows10に付属する 9.13.41