คำเตือน : ผู้เขียนจะไม่รับผิดชอบใดๆในการกระทำที่เกิดขึ้นจากตัวผู้ใช้ เมื่อผู้ใช้ได้อ่านและยินยอมทำตามบทความนี้ ถือว่าผู้ใช้ยอมรับความเสี่ยงที่จะเกิดขึ้นด้วยตัวของผู้ใช้เอง

ย้ำอีกครั้งนะครับว่า “การรูทมีความเสี่ยง” ศึกษาข้อมูลให้ดีก่อนลงมือทำ
ถ้าไม่รู้ว่าการรูทคืออะไร เพื่ออะไร เสิร์ชข้อมูลในกูเกิ้ลก่อนครับ

ทุกขั้นตอนในบทความนี้ ผมเคยทำมาแล้ว และได้ผล อะไรที่ผมไม่เคยลองจะไม่เอามาบอกวิธีครับ แค่อาจจะเกริ่นๆบ้าง
ย้ำ!! จะเขียนเฉพาะสิ่งที่เคยทำกับเครื่องตัวเองแล้วเท่านั้น

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

ข้อจำกัดและผลที่ตามมาสำหรับ HTC Desire 816 หลังจากรูทแล้ว
1. หมดประกัน
2. ใช้สิทธิ์รูทมั่วซั่ว เจ๊งครับ
3. htc ได้ล๊อกระบบไว้อีกทีหนึ่ง ได้สิทธิ์รูทไปก็แก้ไขอะไรระบบไม่ได้ ได้แค่ให้สิทธิ์รูทกับแอพที่ขอสิทธิ์ (วิธีแก้ไขท้ายบทความ)
4. ไม่สามารถชาร์ตแบตขณะที่ปิดเครื่องได้ (วิธีแก้ไขท้ายบทความ)
5. ไม่แน่ใจเหมือนกันเรื่องการอัพเดตเฟิร์มแวร์ เพราะยังไม่เคยได้รับการอัพเดต
6. เครื่องใครเครื่องมัน ทำแทนกันไม่ได้
ถ้ามีอะไรเพิ่มเติมจะมาแก้ไขอีกที

เตรียมตัวรูทเจ้า Desire 816
สิ่งที่ต้องมี
1. HTC Desire 816 แบตเต็ม หรือ 60%ขึ้นไป เพื่อความชัวร์ + USB cable
2. คอมพิวเตอร์ส่วนบุคคลที่เชื่อมต่ออินเทอร์เนตไว้ (ต้องเชื่อมต่ออินเทอร์เนตไว้เท่านั้น ไม่มีเนตไม่ได้)
3. ความกล้า
4. ความรู้พื้นฐาน ใช้คอมพิวเตอร์เป็น อ่านภาษาอังกฤษออก
5. ความรอบคอบ สำคัญมาก
6. สำคัญที่สุด คุณต้องรู้ตัวว่าคุณกำลังจะทำอะไรอยู่

ขออภัยที่ไม่มีรูป เนื่องจากใช้3Gปล่อยWi-Fiที่ความเร็ว (ไม่ถึง)384 kbps ซึ่งสัญญาณห่วยแตกมาก (ค่ายสีเขียว ที่โฆษณาว่าแรงทั่วไทย) แจ้งแล้วแจ้งอีกจนเบื่อ (ปกติต้องใช้EDGE)
เนื่องจากผมบอกไว้แล้วในสิ่งที่ต้องมีคือความรู้พื้นฐาน ฉะนั้น ในส่วนที่ต้องมีการดาวน์โหลดไฟล์ต่างๆ จะไม่อธิบายวิธีการดาวน์โหลดจากเว็บนั้นๆ และควรดาวน์โหลดให้ครบทุกไฟล์ก่อนจะเริ่มทำการรูท ลิ๊งก์ไฟล์ทั้งหมดอยู่ในบทความแล้ว อ่านจนจบ ก่อนลงมือทำ โหลดไฟล์ระหว่างอ่านไปด้วยเพื่อลดเวลา **บางไฟล์ขนาดเกือบครึ่งGB**

ศัพท์ที่อาจทำให้สับสน
1. Fast Boot = โหมดการเปิดเครื่องแบบเร็วในตั้งค่า>แบต, Fastboot = โหมดหนึ่งใน bootloader
2. Stock = อะไรก็ตามที่มากับศูนย์
3. cmd = Command Prompt
4. CMW = Clock Work Mod

ถ้าพร้อมแล้ว มาเริ่มกันเลย
1. เตรียมคอมพิวเตอร์ ดังนี้
1.1 ติดตั้ง HTC Sync Manager เพื่อให้มีไดร์ฟเวอร์ที่จำเป็น
1.2 ติดตั้ง Java Runtime Environment เช็คว่ามี JRE ติดตั้งไว้แล้วโดยรัน cmd (Start > All Programs > Accessories > Command Promt) แล้วพิมพ์ java -version ลงไป กดEnter จะต้องได้ประมาณนี้
C:UsersBIGBEAR>java -version
java version "1.7.0_55"
Java(TM) SE Runtime Environment (build 1.7.0_55-b13)
Java HotSpot(TM) 64-Bit Server VM (build 24.55-b03, mixed mode)

1.3 ติดตั้ง Android SDK (สำหรับใครที่เป็น Developer อยู่แล้ว และใช้ Eclipse ในการเขียนแอพแอนดรอย์ ไม่ต้องทำ เพราะต้องมีอยู่แล้ว)
วิธีติดตั้งและตั้งค่า
โหลดไฟล์ให้เสร็จ>แตกไฟล์ไปไว้ที่ใดที่หนึ่งเช่นC:/หรือD:/ ไม่ควรแตกไว้ลึกๆ หรือเดสค์ท๊อป มันยุ่งยาก และยาว สมมุติว่าแตกไว้ที่ D:/ จะได้(แล้วแต่จะตั้งชื่อโฟลเดอร์ ไฟล์อื่นช่างมันไปก่อน เอาหลักๆแค่นี้) D:/eclipse กับ D:/sdk ที่นี้ก็เข้าไปที่โฟลเดอร์sdk>platform-tools แล้วก๊อบpathที่อยู่ด้านบนมา (คลิ๊กไปที่ที่ว่างทีนึง มันจะกลายเป็น D:sdkplatform-tools และคลุมดำไว้ให้ ก๊อบไป) เอาตามโฟลเดอร์ที่แตกไฟล์ไว้นะครับ อย่าก๊อปจากในนี้ เสร็จแล้ว คลิ๊กขวาที่ My Computer>propoties>Advance system setting>Environment Variables… ดูที่ช่อง User variables for XXX(ชื่อuser) ถ้ามีvariable ที่ชื่อว่าPATH ก็ดับเบิ้ลคลิ๊ก ถ้าไม่มีก็กดNew… กรอกตรงnameว่า PATH ตรง value ให้วางpathที่ก๊อบมา D:sdkplatform-tools แล้วคั่นด้วย ; แล้วกดวางอีกที จะได้ D:sdkplatform-tools;D:sdkplatform-tools ให้ลบ platform- ออกไปอันนึง สุดท้ายจะได้ D:sdkplatform-tools;D:sdktools
ซึ่งตรงนี้ก็แล้วแต่ของแต่ละคนนะครับว่าแตกไฟล์ไว้ที่ไหน ซึ่งไม่จำเป็นต้องเหมือนกัน
ต่อมาลองเช็คดูว่าใช้ได้หรือเปล่า เปิดandroid debuging modeในโทรศัพท์(ตั้งค่า>เกี่ยวกับ>ข้อมูลซอฟท์แวร์>เพิ่มเติม คลิ๊กที่หมายเลขบิวด์รัวๆ จนขึ้นว่าคุณเป็นนักพัฒนาซอฟท์แวร์แล้ว กดกลับมาที่หน้าหลักของตั้งค่า จะเห็นว่ามีเมนูเพิ่มขึ้นมาคือ สำหรับนักพัฒนาฯ คลิ๊กเข้าไป กดตกลง แล้วมาดูตรงDebug Modeว่าติ๊กอยู่รึเปล่า ถ้าไม่ก็ติ๊กซะ) แล้ก็เช็คด้วยcmdเหมือนเดิม พิมพ์ adb devices กด enter จะต้องได้ประมาณนี้C:UsersBIGBEAR>adb devices
List of devices attached
xxxxxx xxxxxxxxxxxxx
ที่โทรศัพท์จะขึ้นถาม ให้กดยอมรับ ถ้าไม่กดมันจะขึ้นแค่ C:UsersBIGBEAR>adb devices
List of devices attached
ถ้าในlistขึ้นรหัสอะไรก็ไม่รู้เป็นอันว่าผ่าน

หลังจากจบขั้นตอนนี้ ใครที่อยากลองเขียนแอพสามารถเริ่มได้เลย เริ่มจากเข้าไปโฟลเดอร์eclipseที่แตกไว้ ดับเบิ้ลคลิ๊กที่ eclipse.exe ใช้ได้เลย :bigsmile::bigsmile::bigsmile:

ก่อนจะทำขั้นต่อไป ตรงนี้แนะนำว่าให้แบ็คอัพรูป วีดีโอ เพลง แอพ รายชื่อ ฯลฯ ก่อน แล้วจึงดำเนินการต่อ

ถ้าเสร็จแล้วมาต่อดีกว่า
2. Unlock Bootloader
เข้าไปที่ http://www.htcdev.com/bootloader สมัครสมาชิก แล้วไปยืนยันทางเมลให้เรียบร้อย (ไม่ขออธิบายขั้นตอน) จากนั้นก็ล๊อกอินเข้าไป รอจนมันกลับมาหน้าเดิมตอนแรก ถ้าไม่มาคลิ๊กที่ลิ๊งด้านบนอีกรอบ สังเกตด้านขวา ปุ่มสีเขียวๆ ในช่องSelect Your Device ให้เลือกเป็น HTC One (เลือกตามๆไป ไม่ต้องถามว่าทำไม) แล้วกด Begin Unlock Bootloader จะมีข้อความขึ้นมา อ่าน แล้วกดตกลง จากนั้นอ่านข้อความอันใหม่ แล้วติ๊กถูก กดตกลง แล้วทำตามขั้นตอนที่เว็บบอกไปจนเสร็จ แต่บางคนอาจจะงง อ่านไม่ออก ไม่เข้าใจ ฯลฯ ผมเลยจะอธิบายทีละขั้นเลยแล้วกัน ดูขั้นตอนและรูปในเว็บโน้นประกอบแล้วกัน

2.1 ก่อนปิดเครื่อง เข้าไปที่ตั้งค่า>แบต ลงมาล่างสุด ตรงที่เปิดอย่างเร็ว(ไม่แน่ใจ ผมใช้ภาษาอังกฤษ เอาเป็นว่าอยู่ล่างสุดแล้วกัน) เอาเครื่องหมายติ๊กออก เสร็จแล้วปิดเครื่อง
หลังจากนี้ไป คือการเริ่มต้นของจริงแล้ว เครื่องใครเครื่องมัน ทำแทนกันไม่ได้ และใช้ความรอบคอบ ทำอย่างละเอียด ให้กดปุ่มลดเสียง พร้อมกับปุ่มเพาเวอร์ ค้างไว้จนเข้าbootloader mode
2.2 ใช้ปุ่มเพิ่มลดเสียง เลื่อนลงมาหาFastboot แล้วกดเลือกด้วยปุ่มเพาเวอร์
2.3 ต่อสายusbจากเครื่องเข้ากับคอมพิวเตอร์ซะ
2.4 โหลดไฟล์ที่ชื่อว่า fastboot-win สำหรับคนที่ใช้windows แตกไฟล์ที่โหลดมาไว้ที่ C:
2.5 เข้าcmd พิมพ์ cd c: กดenter จากนั้นพิมพ์ fastboot oem get_identifier_token ห้ามผิดแม้แต่ตัวเดียว กดenter จะเจอรหัสอะไรไม่รู้เต้มไปหมด หลายบรรทัด
2.6 คลิกขวา เลือก Mark แล้วไปคลุมระหว่าง <<<< Identifier Token Start >>>> กับ <<<<< Identifier Token End >>>>> ห้ามขาดห้ามเกิน มันจะพอดีกัน ตามรูปในเว็บนู้นเลย แล้วคลิ๊กขวา1ที เป็นการก๊อบปี้ข้อความ
2.7 วางที่ก๊อบมาทั้งหมดเมื่อกี๊ลงในช่องในข้อ7ของเว็บนู้น เช็คความถูกต้องให้ดี แล้วจึงกด submit
2.8 เช็คอีเมล คุณจะได้รับ1เมล มีไฟล์แนบ1ไฟล์ ชื่อ Unlock_code.bin โหลดไปไว้ที่C:อีกเช่นเคย(หรือโฟลเดอร์อื่นที่เก็บไฟล์fastbootที่แตกในขั้นตอนที่4 แตกไว้ไหนโหลดเก็บไว้ที่เดียวกัน) ถ้าไม่ได้เมลเช็กตามสแปมดู
2.9 ในcmd พิมพ์ fastboot flash unlocktoken Unlock_code.bin กดenter รอจนได้ตามรูปในเว็บนู้น
2.10 ในโทรศัพท์ จะถามว่าจะอันล๊อกมั๊ย ถ้าอันล๊อก ทุกอย่างจะถูกล้างเพื่อความปลอดภัย ใช้ปุ่มเพิ่มลดเสียงเพื่อเลื่อน ปุ่มเพาเวอร์เพื่อเลือก ในขั้นตอนนี้ ถ้าคุณจะไปต่อ ก็เลือกYes ถ้าคุณไม่กล้า ก็เลือกNo แล้วทุกอย่างจะเหมือนเดิมเหมือนไม่มีอะไรเกิดขึ้น ถ้าผู้ใช้เลือกYes ผู้เขียนจะไม่รับผิดชอบใดๆในการกระทำที่เกิดขึ้นจากตัวผู้ใช้ เมื่อผู้ใช้ได้อ่านและยินยอมทำตามบทความนี้ ถือว่าผู้ใช้ยอมรับความเสี่ยงที่จะเกิดขึ้นด้วยตัวของผู้ใช้เอง

เป็นอันเสร็จ Unlock Bootloaderได้แล้ว
เราสามารถล๊อกbootloaderได้อีก แต่กว่าจะเป็นการre-lock ไม่ใช่ locked มาจากโรงงานเหมือนเดิม ก็เหมือนผู้หญิงที่ซิง พอโดนเปิดซิงแล้ว ยังไงก็กลับมาซิงอีกไม่ได้ แม้จะไปทำรีแพร์มาแล้วก็ตาม 8) 😎 😎 ด้วยcmdเช่นเคย พิมพ์ fastboot oem lock ถ้าจะอันล๊อกใหม่ ก็เข้าfastbootเหมือนเดิม แล้วไปทำขั้นตอนที่2.9เลย

3. ติดตั้ง Custom Recovery
ในที่นี้ผู้เขียนจะเลือกใช้CWM 6.0.4.7
3.1 ดาวน์โหลด CWM_Recovery_en.exe มาซะ
3.2 ทำตาม2.1-2.3 เมื่อถึง2.3แล้ว ให้ดับเบิ้ลคลิกไฟล์ที่โหลดมาเมื่อกี๊ ทำตามที่มันบอกไป จนเสร็จ
3.3 ไปที่โทรศัพท์ เลือกHBOOT แล้วเลือกRecovery เพื่อเข้าสู่CWM

4. แฟลช SuperSU
4.1 ดาวน์โหลด SuperSU.zip
4.2 ก๊อบใส่เมม
4.3 บูทเข้าCWM ตามข้อ3.3 ใช้ปุ่มเพิ่มลดเสียงเลื่อน ปุ่มเพาเวอร์เลือก
4.4 เลือก Install zip from SD card
4.5 หาไฟล์ที่ก๊อบไว้ แล้วกดเลือก ตอบyes
4.6 รอ
4.7 เสร็จ
4.8 รีบูท1ที เป็นอันเสร็จ

ณ ตอนนี้ HTC Desire 816ของเราก็โดนจับรูทเป็นที่เรียบร้อย พร้อมใช้สิทธิ์รูทแล้ว

วิธีแก้ไขปัญหา(แต่ละอย่างมีหลายวิธี เลือกเอา)
-แก้ไขระบบไม่ได้แม้แอพจะได้สิทธ์รูท : แก้โดยเขียนสคริปแล้วแฟลชผ่านrecovery(สำหรับนักพัฒนาขั้นสูงเท่านั้น), แก้s-on ให้เป็นs-off(อันนี้ผมก็ไม่รู้วิธีเหมือนกัน) สรุป ใช้เฉพาะแอพที่ขอสิทธิ์รูท แก้ไขระบบไม่ได้
-ปิดเครื่องชาร์จไม่ได้ : ติ๊กตรงเปิดอย่างเร็ว(ล่างสุด) ในตั้งค่า>แบต, ใช้ TWRP Recovery แทน CWM Recovery(ฝรั่งบอกมา/ยังไม่เคยลอง), แฟลชStock Recovery กลับเหมือนเดิม แล้วRe-lock Bootloaderซะ สรุป ผมใช้วิธีหลังสุดนะ ทำภาระกิจเสร็จแล้วก็ล๊อกซะ

วิธีการแฟลช Stock Recovery กลับ
โหลด recovery_Stock.img ไปวางไว้ที่เดียวกับ fastbootในข้อ2.4 จากนั้นทำตามข้อ2.1-2.3 แล้วเข้าcmd พิมพ์ fastboot flash recovery recovery_Stock.img

TWRP Recovery
โหลดไฟล์ TWRP_Recovery_en.exe นอกนั้นเหมือน CWMหมด

การUnroot
ไม่สามารถทำได้โดยตรงจากในแอพSuperSu ให้ทำการเปิดไฟล์SuperSU.zip ด้วยwinrar,zip แล้วหาไฟล์ SuperSU.apk และ su แล้วก็ลบออกไปจากzipซะ แล้วเอาไฟล์zipนั้นไปแฟลช (มันมีสคริปลบของเดิมในนั้น พอลบเสร็จก็ไม่มีไฟล์ให้ก๊อปไปใหม่แล้ว)

ข้อแนะนำเพิ่มเติม
-ทุกครั้งที่เปิด cmd ใหม่ และต้องการใช้ fastboot ให้ใช้คำสั่ง cd c:/ ก่อนทุกครั้ง(กรณีที่ไฟล์fastbootอยู่ที่ c:/)
-ถ้าเป็นไปได้ อย่าเผลอปิดcmd
-นี่อาจไม่ใช่วิธีรูทที่ดีที่สุด แต่ก็ใช้ได้

สุดท้ายนี้อยากย้ำว่า ถ้าไม่รู้ หรือติดขัดตรงไหน ให้ถามก่อนจะลงมือทำ และงดเว้นคำถามที่ไม่Make Sense เช่น รูทคืออะไร รูททำไม ฯลฯ ด้วย และสุดท้ายจริงๆ ไม่ชัวร์ ไม่มั่นใจ อย่าทำ!!

ณ เวลาที่เขียนบทความนี้ ยังไม่มีStock Romของโมเดลที่ขายในบ้านเราให้โหลดได้ทั่วไป ฉะนั้น ควรแบคอัพรอมผ่านCustom Recoveryก่อนทำการใดๆทุกครั้ง

UPDATE 03/10/2014 : แฟลชStock Recoveryตัวนี้ แทนตัวที่แจกด้านบน >> Stock Recovery จะสามารถอัพเดตผ่าน OTAได้ ปิดเครื่องชาร์จได้ตามปกติ ไม่มีตัวหนังสือแดงมากวนใจ

อ้างอิง : http://forum.xda-developers.com/showthread.php?t=2775801
http://forum.xda-developers.com/showthread.php?t=2697994
http://forum.xda-developers.com/showthread.php?t=2782543
http://www.htcdev.com/bootloader/unlock-instructions