デバイスには多くの隠された fastboot コマンドがあります。 それらを見つけるには、ブートローダーをダンプして内容を調べる必要があります。
Android のカスタマイズについてできる限り多くのことを発見する探求の中で、私は多くの不明瞭だが興味深い発見をしてきました。 アクセス方法をご紹介しました デバイス上の隠しメニュー 携帯電話上の隠れたアプリケーションアクティビティをすべてふるいにかけます。 最近では、にアクセスする方法を紹介しました。 隠されたハードウェア診断ツール 特定のスマートフォンでは。 前回の記事でスマートフォンについて取り上げられなかったことを残念に思われた方もいらっしゃると思いますが、お詫び申し上げます。
それを補うために、はるかに高度でエキサイティングな内容を説明します。 デバイスのブートローダーをダンプして、隠された fastboot コマンドを検出します. このガイドは私が作成したものですが、 ネクサス6P、ほとんどのスマートフォンで間違いなく複製可能です。 ただし、アクセスできるコマンドはデバイスによって大きく異なります。 ほとんどのコマンドは実際の状況では役に立ちませんが、それでも、携帯電話の設定をこれほど深く掘り下げるのは非常に興味深いものです。 始めましょう。
免責事項: 自分が何をしているのかを理解し、指示に適切に従うことができる限り、デバイスに悪いことは何も起こりません。 ただし、デバイスのパーティションとブートローダーをまだいじっている段階なので、間違ったコマンドを入力した場合に何が起こるかわかりません。 オフデバイスのバックアップを必ず用意してください。
準備
始める前に、非常に重要な点に注意してください。 デバイスのブートローダーを抽出するには、 電話機で root アクセスが必要になります。 root アクセス権がない場合でも、教育目的でこのガイドを読み続けることはできますが、必要なコマンドを実行することはできません。 わかった? 良い。 満たす必要があるもう 1 つの前提条件は、コンピューターにすべての機能が備わっていることを確認することです。 適切な ADB/fastboot ドライバー. ADB/fastboot バイナリがない場合は、インストールすることをお勧めします。 最小限の ADB と Fastboot 私たちのフォーラムから。 ドライバーに関しては、Google Nexus デバイスに必要なドライバーを入手できます。
adb devices
デバイスのシリアル番号がポップアップ表示された場合は、適切なドライバーがインストールされています。
ブートローダーのダンプ
最初のステップは、デバイス上でシェルを開き、ADB 経由でコマンドを実行できるようにすることです。 仮想キーボードで入力するときは間違いを犯しやすく、ここで間違いを犯すことは望ましくないため、ADB 経由でコマンドを実行するのが最善です。 コマンド プロンプトで実行する必要がある最初のコマンドは次のとおりです。
adb shell
コマンド プロンプトが ADB バイナリ ディレクトリの表示から Android デバイスのコードネームの表示に変わったら、デバイスのローカル コマンド ライン シェルに正常に入力できたことになります。 ここで、ダンプする必要があるパーティションにアクセスするには、スーパーユーザー アクセスが必要です。 これを行うには、次のように入力します。
su
デバイスのコードネームの前の記号が から変わります。 $ に # これは、昇格された権限でコマンドを実行できることを示します。 今すぐ気をつけてください!
次に、デバイスのブートローダー イメージの正確な場所を特定します。 正確なディレクトリを見つけるために、すべてのパーティションとそのディレクトリのリストを名前順に出力し、特に「」という名前のディレクトリを探します。ブーツ。' 次のように 2 つのコマンドを入力する必要があります。
cd /dev/block/bootdevice/by-name
ls -all
上で見られるように、パーティション ディレクトリの巨大なリストが出力されます。 これらのパーティションは名前でソートされているため、ブートローダー パーティションの場所を簡単に識別できます。 私の場合、ブートローダーは、 'ブーツ' 上の画像では、/dev/block/mmcblk0p10 にあります。 これ 変化します デバイスに応じて異なるため、次の手順に従って、ブートローダーが配置されている実際のディレクトリを確認することが重要です。 ただし、ブートローダーをダンプする次のコマンドでこのディレクトリを参照するため、このディレクトリをメモしておいてください。
dd if=/dev/block/{YOUR ABOOT PARTITION} of=/sdcard/aboot.img
成功すると、「」というファイルが見つかるはずです。boot.imgについて' は内部ストレージのルートにあります。 ブートローダーをダンプしたので、次にブートローダーを調べて、どのような隠しコマンドが見つかるかを判断する必要があります。
隠し Fastboot コマンドとその使用法
あなたは、次のようなより一般的な fastboot コマンドのいくつかに精通しているかもしれません。 ファストブートフラッシュ または ファストブートブート。 で定義されているように、さらに多くの fastboot コマンドがあります。 オープンソースのファストブートプロトコル. 以下は、最新の AOSP コードに基づくブートローダーを備えたすべてのデバイスで利用できる fastboot コマンドのリストです。
このリストに欠けているのは fastboot です OEM コマンド。 これらのコマンドは、 特定の Android デバイスの製造元に提供されており、利用可能な fastboot OEM コマンドに関する包括的なリストやドキュメントはどこにもありません。 ここで、デバイスのメーカーがすべての OEM コマンドをリストする fastboot コマンドを提供してくれた場合 (試してみてください) ファストブートのOEM? それが機能するかどうかを確認してください)、その後は何もする必要はありません。 使用可能な fastboot oem コマンドのリストを出力するコマンドがない場合は、次のコマンドのリストを出力する必要があります。 文字列 aboot.img から手動で OEM コマンドを検索します。
「strings」は Linux コマンドであり、そのドキュメントは次のとおりです。 ここで入手可能. ご覧のとおり、私は個人的に Windows マシンを使用しているため、代わりに Linux の「文字列」を模倣するプログラム. aboot.img ファイル上の「strings」コマンドの生の出力は次のようになります。 かなり乱雑な, ただし、単に CTRL+F で「oem」を入力すると、必要なものが見つかるはずです。 検索を絞り込みたい場合は、次のコマンドを試してください (リンクした Windows バージョンの場合)。
strings * | findstr /i oem
Nexus 6P 用に、次の fastboot oem コマンドのリストを作成しました。
fastboot oem unlock-go
fastboot oem frp-unlock
fastboot oem frp-erase
fastboot oem enable reduced-version
fastboot oem device-info
fastboot oem enable-charger-screen
fastboot oem disable-charger-screen
fastboot oem enable-bp-tools
fastboot oem disable-bp-tools
fastboot oem enable-hw-factory
fastboot oem disable-hw-factory
fastboot oem select-display-panel
fastboot oem off-mode-charge enable
fastboot oem off-mode-charge disable
fastboot oem ramdump enable
fastboot oem ramdump disable
fastboot oem uart enable
fastboot oem uart disable
fastboot oem hwdog certify begin
fastboot oem hwdog certify close
fastboot oem get-imei1
fastboot oem get-meid
fastboot oem get-sn
fastboot oem get-bsn
fastboot oem get_verify_boot_status
リスクを受け入れる場合を除き、上記のコマンド、またはデバイス上で見つかったコマンドを試行しないでください。 これらのコマンドがユーザーから隠されているのには理由があります。
そうは言っても、私は私が見つけたこれらの fastboot コマンドのいくつかについて、いくつかの上手な使い方を考えてみました (実際にはそうではないかもしれません) あなたのデバイス上に存在するので、上記の手順に従って確認してください!) これは最もハードコアな Android を思わせるはずです 愛好家。 ここには、実際に使用できるコマンドが 2 つあります。
まずは、 fastboot oem (有効|無効)-充電器-画面 指示。 これにより、デバイスの電源がオフになったときに表示される充電画面が無効になります。 携帯電話の電源がオフになっているときの充電画面の眩しい明るさが気に入らない場合は、この隠れた fastboot コマンドを使用して充電画面を無効にすることができます。
次に、 fastboot oem オフモード充電 (有効|無効) 指示。 このコマンドは、電源が検出されたときにデバイスの電源が自動的にオンになるかどうかを決定します。 デフォルトでは、「無効」に設定されています。 このコマンドが電話にはあまり役に立たないことは認めますが、 タブレットを車のダッシュボードに取り付けることを計画している場合、このコマンドが信じられないほど便利であることがわかります。 役に立つ。 車のバッテリーが起動したときなど、タブレットに電力が供給されるとすぐにデバイスの電源がオンになるように設定できます。 逆に、Tasker などの自動化アプリを使用すると、電源が失われたときにタブレットの電源を切るのが非常に簡単です。 ちなみに、このコマンドは、 ネクサス 7 (2013).
Android のカスタマイズ性に関するこのレッスンはこれで終わりです。 見つけたコマンドを (理想的にはペーストビン リンクで) 以下のコメントで共有してください。
XDA 上級認定開発者に感謝 ディーズ・トロイ この記事の作成に協力してくれたことに感謝します。