Jak odkryć ukryte polecenia Fastboot

click fraud protection

Na Twoim urządzeniu znajduje się wiele ukrytych poleceń fastboot. Aby je znaleźć, będziemy musieli zrzucić program ładujący i sprawdzić jego zawartość!

Próbując dowiedzieć się jak najwięcej na temat dostosowywania Androida, dokonałem wielu niejasnych, ale interesujących odkryć. Pokazałem ci, jak uzyskać dostęp ukryte menu na Twoim urządzeniu przeglądając wszystkie ukryte działania aplikacji w telefonie. Niedawno pokazałem ci, jak uzyskać dostęp do pliku ukryte narzędzie diagnostyczne sprzętu w niektórych smartfonach. Teraz zdaję sobie sprawę, że część z Was była zawiedziona faktem, że w poprzednim artykule nie uwzględniono Waszego smartfona, za co przepraszam.

Aby to wynagrodzić, przeprowadzę Cię przez coś znacznie bardziej zaawansowanego i ekscytującego: zrzucanie bootloadera urządzenia, aby odkryć ukryte polecenia fastboot. Ten poradnik, choć sporządzony na moim Nexusa 6P, z pewnością można odtworzyć na większości smartfonów. Jednak polecenia, do których będziesz mieć dostęp, będą się znacznie różnić w zależności od urządzenia. Większość poleceń tak naprawdę nie pomoże w żadnej rzeczywistej sytuacji, ale mimo to warto zagłębić się w ustawienia telefonu. Zacznijmy.

Zastrzeżenie: jeśli wiesz, co robisz i potrafisz postępować zgodnie z instrukcjami, Twojemu urządzeniu nie powinno stać się nic złego. Ale wciąż bawimy się partycjami urządzeń i programem ładującym, więc nie wiadomo, co może się stać, jeśli wprowadzisz niewłaściwe polecenie. Upewnij się, że masz przygotowaną kopię zapasową poza urządzeniem!


Przygotowanie

Zanim zaczniemy, warto zwrócić uwagę na jedną naprawdę ważną rzecz. Aby wyodrębnić bootloader urządzenia, będziesz potrzebować uprawnień roota na swoim telefonie. Jeśli nie masz dostępu do konta root, możesz kontynuować czytanie tego przewodnika w celach edukacyjnych, ale nie będziesz mógł wykonać żadnego z niezbędnych poleceń. Zrozumiałeś? Dobry. Kolejnym warunkiem wstępnym, który musisz spełnić, jest upewnienie się, że Twój komputer ma wszystkie niezbędne funkcje odpowiednie sterowniki ADB/fastboot. Jeśli nie masz plików binarnych ADB/fastboot, polecam instalację Minimalne ADB i Fastboot z naszych forów. Jeśli chodzi o sterowniki, możesz pobrać niezbędne sterowniki dla urządzeń Google Nexus Tutaj i dla wszystkich innych urządzeń z Tutaj. Skąd wiesz, że możesz już iść? Podłącz urządzenie, włącz debugowanie USB w Ustawieniach programisty, otwórz wiersz poleceń i wpisz:

adb devices

Jeśli zobaczysz wyskakujący numer seryjny urządzenia, oznacza to, że masz odpowiednie sterowniki.


Zrzucanie bootloadera

Naszym pierwszym krokiem jest otwarcie powłoki na naszym urządzeniu, abyśmy mogli uruchamiać polecenia przez ADB. Najlepiej, gdy uruchamiamy polecenia przez ADB, ponieważ jesteśmy znacznie bardziej podatni na popełnianie błędów podczas pisania na wirtualnej klawiaturze, a popełnianie błędów nie jest czymś, co chcesz tutaj robić. Pierwszym poleceniem, które powinieneś uruchomić w wierszu poleceń, jest:

adb shell

Jeśli widzisz, że wiersz poleceń zmienia się z wyświetlania katalogu binarnego ADB na wyświetlanie nazwy kodowej urządzenia z systemem Android, oznacza to, że pomyślnie wprowadziłeś lokalną powłokę wiersza poleceń swojego urządzenia. Teraz, aby uzyskać dostęp do partycji, które musimy zrzucić, będziesz potrzebować dostępu administratora. Aby to zrobić, wpisz następujące polecenie:

su

Symbol przed nazwą kodową Twojego urządzenia powinien się zmienić z $ Do # wskazując, że możesz teraz uruchamiać polecenia z podwyższonymi uprawnieniami. Bądź teraz ostrożny!

Następnie ustalimy dokładną lokalizację obrazu bootloadera Twojego urządzenia. Aby znaleźć dokładny katalog, wydrukujemy listę wszystkich partycji i ich katalogów według nazw i poszukamy jednego o nazwie „około. Będziesz musiał wprowadzić dwa polecenia w następujący sposób:

cd /dev/block/bootdevice/by-name
ls -all

Jak widać powyżej, drukowana jest gigantyczna lista katalogów partycji. Partycje te są posortowane według nazwy, dzięki czemu możemy łatwo rozpoznać lokalizację naszej partycji bootloadera. W moim przypadku bootloader, czyli „około” na powyższym obrazku można znaleźć pod adresem /dev/block/mmcblk0p10. Ten Bedzie się różnić w zależności od urządzenia, dlatego ważne jest, aby postępować zgodnie z tymi instrukcjami, aby znaleźć prawdziwy katalog, w którym znajduje się program ładujący. Zwróć jednak uwagę na ten katalog, ponieważ będziemy się do niego odwoływać w następującym poleceniu, aby zrzucić program ładujący:

dd if=/dev/block/{YOUR ABOOT PARTITION} of=/sdcard/aboot.img

Po pomyślnym zakończeniu powinieneś znaleźć plik o nazwie „oboot.img' znajduje się w katalogu głównym pamięci wewnętrznej. Teraz, gdy usunęliśmy program ładujący, musimy go sprawdzić, aby określić, jakie ukryte polecenia możemy znaleźć.


Ukryte polecenia Fastboot i ich zastosowania

Być może znasz niektóre z bardziej popularnych poleceń fastboot, takich jak szybkiego flashowania Lub rozruch typu fastboot. Istnieje wiele innych poleceń fastboot zdefiniowanych w pliku protokół fastboot typu open source. Oto lista poleceń fastboot dostępnych na każdym urządzeniu z programem ładującym opartym na najnowszym kodzie AOSP:

Na tej liście brakuje fastboot OEM polecenia. Te polecenia są konkretny dla producentów urządzeń z Androidem i nie ma nigdzie wyczerpującej listy ani dokumentacji dostępnych poleceń fastboot OEM. Teraz, jeśli producent Twojego urządzenia był na tyle miły, aby udostępnić polecenie fastboot zawierające listę wszystkich poleceń OEM (spróbuj szybkie uruchomienie OEM? i zobacz, czy to zadziała), to nie będziesz musiał robić nic więcej. Jeśli nie ma żadnego polecenia wyświetlającego listę dostępnych poleceń fastboot oem, musisz wydrukować listę smyczki z pliku aboot.img i ręcznie wyszukaj polecenia OEM.

„strings” to polecenie systemu Linux, którego dokumentacja znajduje się w pliku dostępny tutaj. Jak widać, osobiście używam komputera z systemem Windows, więc zamiast tego używam komputera program imitujący „ciągi znaków” z Linuksa. Nieprzetworzony wynik polecenia „strings” w pliku aboot.img będzie następujący dość niechlujnie, ale jeśli po prostu naciśniesz CTRL+F dla „oem”, powinieneś znaleźć to, czego potrzebujesz. Jeśli chcesz zawęzić wyszukiwanie, możesz wypróbować to polecenie (dla wersji systemu Windows, którą podałem):

strings * | findstr /i oem

Dla Nexusa 6P skompilowałem następującą listę poleceń 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

Ostrzegamy, że nie powinieneś próbować wykonywać żadnego z powyższych poleceń ani żadnych poleceń, które odkryjesz na swoim urządzeniu, chyba że chcesz zaakceptować ryzyko. Jest powód, dla którego te polecenia są ukryte przed użytkownikiem.

Biorąc to pod uwagę, pomyślałem o kilku fajnych zastosowaniach niektórych z tych poleceń fastboot, które znalazłem (które mogą, ale nie muszą być obecny na Twoim urządzeniu, więc postępuj zgodnie z instrukcjami powyżej, aby to sprawdzić!), które powinny spodobać się najbardziej hardkorowemu Androidowi entuzjasta. Są tu dwa polecenia, które mogą mieć praktyczne zastosowanie.

Na początek jest fastboot oem (włącz | wyłącz) - ekran ładowarki Komenda. Powoduje to wyłączenie ekranu ładowania, który pojawia się, gdy urządzenie jest wyłączone. Jeśli nie jesteś fanem oślepiającej jasności ekranu ładowania, gdy telefon jest wyłączony, możesz go wyłączyć za pomocą ukrytego polecenia fastboot!

Następny jest fastboot OEM-tryb wyłączenia (włącz|wyłącz) Komenda. To polecenie określa, czy urządzenie włączy się automatycznie po wykryciu źródła zasilania. Domyślnie jest ustawione na „wyłączone”. Przyznam, że to polecenie nie ma większego zastosowania w telefonach, ale jeśli planujesz zamontować tablet na desce rozdzielczej samochodu, to polecenie będzie dla Ciebie niesamowite użyteczne. Możesz ustawić urządzenie tak, aby włączało się natychmiast po otrzymaniu zasilania przez tablet, na przykład po uruchomieniu akumulatora samochodowego. I odwrotnie, całkiem łatwo jest wyłączyć tablet w przypadku utraty zasilania, korzystając z aplikacji do automatyzacji, takiej jak Tasker. Nawiasem mówiąc, to polecenie działa dokładnie tak, jak napisano w pliku Nexus 7 (2013).


To tyle w tej lekcji na temat możliwości dostosowywania Androida. Podziel się odkrytymi poleceniami (najlepiej w linku wklejanym) w komentarzach poniżej!

Dziękujemy starszemu uznanemu programiście XDA Dees_Troy za pomoc w powstaniu tego artykułu!