Firmware iPod ใหม่เอาอีกแล้ว!
Tagged:  •  

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

ความเดิมจากในอดีต คือ iPod ที่ผลิตออกมาตั้งแต่ iPod nano 2G (ยกเว้นตระกูล Mobile Device อันได้แก่ iPod touch) ไม่สามารถใส่ภาษาไทยลงไปได้ เพราะมีปัญหาเรื่อง Firmware ติดการเข้ารหัส
ถ้าลองศึกษาตัวโครงสร้าง Firmware ซึ่งเป็นไฟล์ๆ เดียว ก็จะพบว่า iPod แต่ละรุ่นจะมีโครงสร้างของ Firmware ที่ต่างกันด้วยในเชิงของตำแหน่งที่อยู่ของสิ่งต่างๆ ใน Firmware (ลองศึกษาเอกสารของโครงการ iPodLinux) โดยหลักๆ จะประกอบด้วย 3 ส่วนคือ ส่วนของ Resource (FAT16 MTOOL399 Disk Image), OS ของ iPod (ถูกเข้ารหัส), และ Flash Update (ถูกเข้ารหัส?) ซึ่งถ้ามีการแก้ไขก็จะต้องทำการคำนวณค่าบางอย่าง (Checksum) เพื่อให้ตรวจสอบผ่าน

แต่ปรากฏว่า Firmware ใหม่ (ที่ออกมาเพื่อให้สนับสนุน iTunes Movie Rental) มีส่วนที่เพิ่มเข้ามา คือ Hash ซึ่งยังไม่เคยมีเอกสารใดๆ กล่าวถึง

หนทางในการเพิ่มภาษาไทยลง iPod ที่ผมพยายามทำอยู่ คือการแก้ไขส่วนของ Resource ซึ่งผ่านไปได้ด้วยดีแล้ว แต่ก็ยังติดส่วนของการ Verify แม้ว่าจะทำการแก้ค่า Checksum ไปแล้วผมก็ยัง Verify ไม่ผ่าน ไม่แน่ใจว่าติดส่วนของไฟล์ Signature หรือไม่ (เพราะการดาวน์โหลด Firmware ทุกครั้งผ่านทาง iTunes จะมีการดาวน์โหลดไฟล์ Signature ตามมาด้วย) และผมก็ยังไม่สามารถเดากระบวนการสร้างไฟล์ Signature ขึ้นมาได้ว่าสร้างขึ้นมาอย่างไร (เกี่ยวกับ SHA-512?) และพอเจอโครงสร้าง Firmware ที่เปลี่ยนไปอีก เหมือนจะเป็นการย้ำจากทาง Apple หรือไม่ว่า “อย่าแก้ Firmware”

ปล. กระบวนการทั้งหมด ใช้เพียงแค่ Hex Editor อย่างเดียว เพราะไม่มีโปรแกรมสำเร็จรูปที่ถูกสร้างขึ้นมาเพื่อแก้ไข Resource แม้ iPodWizard จะสามารถแก้ไข Firmware ของ iPod ได้ แต่ก็ไม่ได้เป็นการแก้ในลักษณะเพิ่ม/ลบไฟล์อย่างไร

ลังเลกับ firmeware ตัวใหม่เหมือนกัน

ผมใช้ ipod classic 80 GB. อยู่คิดว่าควร update เป็น 1.1 ไหมครับ? ปัจจุบันเป้น 1.0.3

แล้วแต่เลยครับ

ถ้าไม่คิดว่าจะดูหนังเช่าก็อาจจะไม่มีความจำเป็นต้องอัพครับ

อีกอย่างบั้กเรื่องการแสดงผลเวลายังไม่ถูกแก้เลย

เล่าเพิ่มอีกนิดหนึ่ง ผมเคยพยายามเขียนโปรแกรมด้วยภาษาในตระกูล .net เพื่อติดต่อกับ iPod โดยใช้ Library ที่พอจะมีในเครื่อง (ผ่านทาง Interop) ปรากฏว่าทำไม่ได้อยู่ดี สงสัยต้องเขียนเป็น C, C++ จริงๆ ซะแล้ว (ความรู้เข้าใกล้ 0 เต็มที่) เหตุผลเพราะหลังจากศึกษาตัวโครงสร้าง Firmware แล้วก็พบว่าเราอาจจะสั่งให้ตัว Library มันเขียนค่าบางอย่างในตำแหน่งที่ถูกต้องได้โดยไม่ต้องไปง้อตัว iTunes เลย และเมื่อทำเช่นนั้นก็หมายความว่า ผมอาจจะเปลี่ยนฟอนท์ Helvetica ไปใช้ฟอนท์ตัวอื่น (ที่มีภาษาไทย) แทน

เอ๊ะ จะมีคนเอาไปลองเขียนดูเล่นๆ ไหมเอ่ย?

โอ้ว..

โอ้ว.. อยากช่วยครับ แต่คงได้แต่ช่วยให้กำลังใจ.. ผมเองเขียนโปรแกรมไม่เป็นเลย... ตอนนี้เต็มที่คือ coding css

คงไม่มีประโยชน์เท่าไร สู้ต่อไปครับ...

Maccenter ไม่มีนโยบายมาช่วยอะไรในเรื่องนี้แล้วใช่ไหมครับ?

นโยบายก็มีแต่...

เท่าที่ได้มีโอกาสคุยกับหนึ่งในผู้บริหารของเขา เขาก็พยายามทำครับ

แต่ผมก็ยังไม่เข้าใจว่าจริงๆ เขาติดขัดประเด็นไหน ค่อนข้างสับสนว่าทำได้แล้ว แต่ยังทำฟอนท์ดี ๆ ใส่ไม่ได้ หรือทำฟอนท์ได้แต่ยังหาวิธียัดลงไปไม่ได้กันแน่ หรือยังมีความพยายามจะ Decrypt ตัว Firmware อยู่?