วิธีค้นหาคำสั่ง Fastboot ที่ซ่อนอยู่

มีคำสั่ง fastboot ที่ซ่อนอยู่มากมายบนอุปกรณ์ของคุณ เพื่อที่จะค้นหามัน เราจะต้องทิ้ง bootloader และตรวจสอบเนื้อหา!

ในการแสวงหาการค้นพบการปรับแต่ง Android ให้มากที่สุดเท่าที่จะเป็นไปได้ ฉันได้ค้นพบสิ่งที่คลุมเครือแต่น่าสนใจมากมาย ฉันได้แสดงวิธีการเข้าถึงให้คุณแล้ว เมนูที่ซ่อนอยู่บนอุปกรณ์ของคุณ โดยการกรองกิจกรรมแอปพลิเคชันที่ซ่อนอยู่ทั้งหมดในโทรศัพท์ของคุณ เมื่อเร็วๆ นี้ ฉันได้แสดงให้คุณเห็นถึงวิธีการเข้าถึง เครื่องมือวินิจฉัยฮาร์ดแวร์ที่ซ่อนอยู่ บนสมาร์ทโฟนบางรุ่น ตอนนี้ฉันรู้แล้วว่าพวกคุณบางคนรู้สึกผิดหวังที่สมาร์ทโฟนของคุณไม่ได้กล่าวถึงในบทความที่แล้ว และฉันขอโทษสำหรับเรื่องนั้น

เพื่อเป็นการชดเชย ฉันจะพาคุณไปพบกับบางสิ่งที่ล้ำหน้าและน่าตื่นเต้นยิ่งขึ้น: ทิ้ง bootloader ของอุปกรณ์เพื่อค้นหาคำสั่ง fastboot ที่ซ่อนอยู่. คู่มือนี้แม้ว่าจะทำกับฉันแล้วก็ตาม เน็กซัส 6พีสามารถทำซ้ำได้อย่างแน่นอนที่สุดบนสมาร์ทโฟนส่วนใหญ่ อย่างไรก็ตาม คำสั่งใดที่คุณจะสามารถเข้าถึงได้จะแตกต่างกันอย่างมากระหว่างอุปกรณ์ต่างๆ คำสั่งส่วนใหญ่ไม่ได้ช่วยคุณในสถานการณ์จริงใด ๆ แต่ก็ค่อนข้างน่าสนใจที่จะเจาะลึกการตั้งค่าโทรศัพท์ของคุณ มาเริ่มกันเลย.

ข้อจำกัดความรับผิดชอบ: ตราบใดที่คุณรู้ว่าคุณกำลังทำอะไรอยู่และสามารถทำตามคำแนะนำได้อย่างเหมาะสม ก็ไม่มีอะไรเลวร้ายเกิดขึ้นกับอุปกรณ์ของคุณ แต่เรายังคงยุ่งอยู่กับพาร์ติชั่นอุปกรณ์และโปรแกรมโหลดบูตของเรา ดังนั้นจึงไม่มีใครบอกว่าจะเกิดอะไรขึ้นหากคุณป้อนคำสั่งผิด ตรวจสอบให้แน่ใจว่าคุณมีการสำรองข้อมูลนอกอุปกรณ์พร้อม!


การตระเตรียม

ก่อนที่เราจะเริ่ม มีสิ่งหนึ่งที่สำคัญจริงๆ ที่ควรทราบ เพื่อแยก bootloader ของอุปกรณ์ของคุณ คุณจะต้องเข้าถึงรูทบนโทรศัพท์ของคุณ หากคุณไม่มีสิทธิ์เข้าถึงรูท คุณสามารถอ่านคู่มือนี้ต่อได้เพื่อการศึกษา แต่คุณจะไม่สามารถดำเนินการคำสั่งที่จำเป็นใดๆ ได้ เข้าใจแล้วใช่ไหม? ดี. ข้อกำหนดเบื้องต้นอีกประการหนึ่งที่คุณจะต้องปฏิบัติตามคือต้องแน่ใจว่าคอมพิวเตอร์ของคุณมีคุณสมบัติครบถ้วน ไดรเวอร์ ADB / fastboot ที่เหมาะสม. หากคุณไม่มีไบนารี ADB/fastboot ฉันแนะนำให้ติดตั้ง ADB และ Fastboot ขั้นต่ำ จากฟอรั่มของเรา สำหรับไดรเวอร์ คุณสามารถคว้าไดรเวอร์ที่จำเป็นสำหรับอุปกรณ์ Google Nexus ได้ ที่นี่ และสำหรับอุปกรณ์อื่นๆ ทั้งหมดจาก ที่นี่. คุณจะรู้ได้อย่างไรว่าคุณพร้อมที่จะไป? เสียบอุปกรณ์ของคุณ เปิดใช้งานการแก้ไขจุดบกพร่อง USB ภายใต้การตั้งค่านักพัฒนา เปิดพรอมต์คำสั่งแล้วพิมพ์:

adb devices

หากคุณเห็นหมายเลขซีเรียลของอุปกรณ์ปรากฏขึ้น แสดงว่าคุณมีไดรเวอร์ที่ถูกต้อง


การทิ้ง Bootloader

ขั้นตอนแรกของเราคือการเปิดเชลล์บนอุปกรณ์ของเราเพื่อให้เราสามารถรันคำสั่งผ่าน ADB ได้ เป็นการดีที่สุดที่เราจะเรียกใช้คำสั่งผ่าน ADB เนื่องจากเรามีแนวโน้มที่จะทำผิดพลาดเมื่อพิมพ์บนแป้นพิมพ์เสมือนจริงมากกว่า และการทำผิดพลาดไม่ใช่สิ่งที่คุณต้องการทำที่นี่ คำสั่งแรกที่คุณควรรันในพร้อมท์คำสั่งของคุณคือ:

adb shell

หากคุณเห็นพรอมต์คำสั่งเปลี่ยนจากการแสดงไดเรกทอรีไบนารีของ ADB เป็นการแสดงชื่อรหัสสำหรับอุปกรณ์ Android ของคุณ แสดงว่าคุณป้อนเชลล์บรรทัดคำสั่งในเครื่องอุปกรณ์ของคุณสำเร็จแล้ว ตอนนี้ เพื่อเข้าถึงพาร์ติชันที่เราจำเป็นต้องถ่ายโอนข้อมูล คุณจะต้องมีสิทธิ์เข้าถึงแบบผู้ใช้ระดับสูง โดยพิมพ์ดังต่อไปนี้:

su

สัญลักษณ์ที่อยู่หน้าชื่อรหัสอุปกรณ์ของคุณควรเปลี่ยนจาก $ ถึง # บ่งชี้ว่าขณะนี้คุณสามารถรันคำสั่งด้วยสิทธิ์ระดับสูงได้แล้ว ระวังตอนนี้!

ต่อไป เราจะหาตำแหน่งที่แน่นอนของอิมเมจ Bootloader ของอุปกรณ์ของคุณ เพื่อที่จะค้นหาไดเร็กทอรีที่แน่นอน เราจะพิมพ์รายการพาร์ติชั่นทั้งหมดและไดเร็กทอรีตามชื่อ และค้นหาพาร์ติชั่นที่เรียกว่า 'บูต.' คุณจะต้องป้อนคำสั่งสองคำสั่งดังนี้:

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

ดังที่คุณเห็นข้างต้น รายการไดเร็กทอรีพาร์ติชันจำนวนมหาศาลจะถูกพิมพ์ออกมา พาร์ติชันเหล่านี้จัดเรียงตามชื่อ ดังนั้นเราจึงสามารถแยกแยะตำแหน่งของพาร์ติชัน bootloader ของเราได้อย่างง่ายดาย ในกรณีของฉันคือ bootloader ซึ่งก็คือ 'บูต' ในภาพด้านบนสามารถพบได้ที่ /dev/block/mmcblk0p10 นี้ จะแตกต่างกัน ขึ้นอยู่กับอุปกรณ์ของคุณ ดังนั้นสิ่งสำคัญคือคุณต้องทำตามคำแนะนำเหล่านี้เพื่อค้นหาไดเร็กทอรีที่แท้จริงซึ่งเป็นที่ตั้งของโปรแกรมโหลดบูตของคุณ อย่างไรก็ตาม จดไดเร็กทอรีนี้ไว้ เนื่องจากเราจะอ้างอิงถึงไดเร็กทอรีนี้ในคำสั่งต่อไปนี้เพื่อดัมพ์ bootloader:

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

เมื่อสำเร็จแล้ว คุณควรค้นหาไฟล์ชื่อ 'aboot.img' อยู่ที่รากของที่จัดเก็บข้อมูลภายในของคุณ ตอนนี้เราได้ทิ้ง bootloader ไปแล้ว เราจำเป็นต้องตรวจสอบมันเพื่อดูว่าคำสั่งที่ซ่อนอยู่ใดบ้างที่เราพบได้


คำสั่ง Fastboot ที่ซ่อนอยู่และการใช้งาน

คุณอาจคุ้นเคยกับคำสั่ง fastboot ทั่วไปบางคำสั่ง เช่น แฟลชบูตด่วน หรือ บูตเร็ว มีคำสั่ง fastboot อีกมากมายตามที่กำหนดไว้ในไฟล์ โปรโตคอล fastboot โอเพ่นซอร์ส. ต่อไปนี้เป็นรายการคำสั่ง fastboot ที่มีอยู่ในทุกอุปกรณ์ที่มี bootloader ที่ใช้โค้ด AOSP ล่าสุด:

สิ่งที่ขาดหายไปในรายการนี้คือ fastboot OEM คำสั่ง คำสั่งเหล่านี้คือ เฉพาะเจาะจง สำหรับผู้ผลิตอุปกรณ์ Android และไม่มีรายการหรือเอกสารที่ครอบคลุมเกี่ยวกับคำสั่ง fastboot oem ใดที่พร้อมใช้งาน ตอนนี้ หากผู้ผลิตอุปกรณ์ของคุณใจดีพอที่จะจัดเตรียมคำสั่ง fastboot ที่แสดงรายการคำสั่ง oem ทั้งหมด (ลอง fastboot OEM ? และดูว่าได้ผลหรือไม่) คุณไม่จำเป็นต้องดำเนินการใดๆ เพิ่มเติม หากไม่มีคำสั่งใดที่พิมพ์รายการคำสั่ง fastboot oem ที่มีอยู่ คุณจะต้องพิมพ์รายการคำสั่ง สตริง จาก aboot.img และค้นหาคำสั่ง oem ด้วยตนเอง

'strings' เป็นคำสั่ง linux ซึ่งเป็นเอกสารประกอบที่ใช้ มีอยู่ที่นี่. อย่างที่คุณทราบ ส่วนตัวฉันใช้เครื่อง Windows ดังนั้นฉันจึงใช้ a โปรแกรมที่เลียนแบบ 'สตริง' จาก Linux. ผลลัพธ์ดิบของคำสั่ง 'strings' บนไฟล์ aboot.img จะเป็นเช่นนี้ ค่อนข้างยุ่งแต่ถ้าคุณเพียง 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 ที่ฮาร์ดคอร์ที่สุด ผู้ที่กระตือรือร้น มีสองคำสั่งที่นี่ที่สามารถนำไปใช้ได้จริง

อันดับแรกคือ fastboot oem (เปิดใช้งาน | ปิดการใช้งาน) - หน้าจอเครื่องชาร์จ สั่งการ. สิ่งนี้จะปิดใช้งานหน้าจอการชาร์จที่ปรากฏขึ้นเมื่ออุปกรณ์ของคุณปิดอยู่ หากคุณไม่ชอบความสว่างเจิดจ้าของหน้าจอการชาร์จเมื่อโทรศัพท์ของคุณปิดอยู่ คุณสามารถปิดใช้งานได้โดยใช้คำสั่ง fastboot ที่ซ่อนอยู่นี้

ต่อไปก็มี fastboot oem การปิดโหมดการชาร์จ (เปิดใช้งาน | ปิดการใช้งาน) สั่งการ. คำสั่งนี้กำหนดว่าอุปกรณ์ของคุณจะเปิดโดยอัตโนมัติเมื่อตรวจพบแหล่งพลังงานหรือไม่ โดยค่าเริ่มต้น จะถูกตั้งค่าเป็น 'ปิดการใช้งาน' ยอมรับว่าคำสั่งนี้ไม่ค่อยมีประโยชน์กับโทรศัพท์เท่าไหร่ แต่ถ้า คุณกำลังวางแผนที่จะติดตั้งแท็บเล็ตเข้ากับแผงหน้าปัดรถยนต์ คุณจะพบว่าคำสั่งนี้น่าทึ่งมาก มีประโยชน์. คุณจะสามารถตั้งค่าอุปกรณ์ของคุณให้เปิดเครื่องได้ทันทีเมื่อแท็บเล็ตได้รับพลังงาน เช่น เมื่อแบตเตอรี่รถยนต์ของคุณเริ่มทำงาน ในทางกลับกัน การปิดแท็บเล็ตเมื่อไฟฟ้าดับนั้นทำได้ค่อนข้างง่ายโดยใช้แอปอัตโนมัติ เช่น Tasker คำสั่งนี้ทำงานตรงตามที่เขียนไว้ใน เน็กซัส 7 (2013).


เพียงเท่านี้สำหรับบทเรียนเกี่ยวกับความสามารถในการปรับแต่ง Android นี้ แบ่งปันคำสั่งที่คุณค้นพบ (ควรอยู่ในลิงก์ pastebin) ในความคิดเห็นด้านล่าง!

ขอขอบคุณนักพัฒนาที่ได้รับการยอมรับอาวุโสของ XDA ดีส์_ทรอย สำหรับความช่วยเหลือของเขาในการทำบทความนี้!