Skip to main content

Recovery Jailbroken iDevice from Scratch

Submitted by ezybzy on

เมื่อวานได้นำเครื่อง iPhone ของพี่ที่รู้จักที่นี่มากู้ข้อมูลเพื่อเตรียมอัพเกรด เลยขอรวบรวมความรู้ที่กระจัดกระจายเสียหน่อยว่าทำอะไรไปบ้าง (คำบรรยายต่อไปนี้ไม่เหมาะแก่ผู้ไม่มีประสบการณ์)

ค่าเริ่มต้น

เครื่อง iPhone เครื่องนี้เป็นเครื่องจากจากสหรัฐอเมริกาสัปดาห์ที่ 51 ของปี 2007 ถูกติดตั้ง Firmware 2.0 มา ปัญหาคือเขาบอกว่าเขาต้องกรอกรหัสบางอย่างทุกครั้งที่ต่อเข้ากับ iTunes ทำให้ไม่สามารถ Sync ข้อมูลบนเครื่องได้

วิธีดำเนินการ

  1. ทำการติดตั้ง OpenSSH ลงใน iPhone เครื่องนี้ เพื่อให้สามารถเข้าไปดึงข้อมูลที่จำเป็นได้โดยง่าย
  2. ผมทำการทำสำเนา /private/var/mobile/Library และ /private/var/mobile/Media ออกมา ซึ่งจะมีปัญหาเกี่ยวกับ Symbolic link ภายใน /private/var/mobile/Library รวมถึงจะมีไฟล์บางอย่างที่ไม่สามารถดึงออกมาได้เพราะถูกใช้งานอยู่โดยระบบ (อ่านข้อควรระวังให้ละเอียดก่อนจะดำเนินการ Restore นะ)
  3. ทำการสร้าง Custom Firmware ด้วย PwnageTool 3.1.4 โดยใช้ Firmware 3.1.2 และกำหนดให้ทำการ Activate/Unlock ไปในคราวเดียวกัน
  4. เนื่องจากเครื่องนี้ผ่านการ Pwned มาแล้ว จึงทำแค่ Restore ด้วย Custom Firmware ตัวนี้ (ควรจะตั้งให้ iTunes เข้าเป็นหมด StoreGeniusMode เพื่อไม่ให้ข้อมูลเช่น iTunes Account ของเครื่องที่ใช้ทำงาน ไหลลงไปในเครื่องดังกล่าว)
  5. เมื่อทำการ Restore เสร็จ รอให้การ Unlock ด้วย BootNeuter เรียบร้อย แล้วจึงทำการติดตั้ง OpenSSH เข้าไปอีกครั้ง (อาจจะติดตั้ง SBSetting ไปด้วย)
  6. ทยอยนำของที่ได้ทำสำเนา ย้อนกลับไปในเครื่องทีละรายการ
  7. (แถม) ลง “Native MMS iPhone 2G” สำหรับ Firmware 3.1.2 จาก apt source ชื่อ http://cydia.ifoneguide.nl
  8. ปิดหรือถอนการติดตั้ง OpenSSH

ข้อควรระวัง

สำหรับรูปภาพจากกล้อง จะพบปัญหาว่าเมื่อโยนรูปกลับเข้าไปใน Media/DCIM จะไม่ได้ Thumbnail ในหน้า Camera Roll และรูปตัวอย่างด้านในเป็นสีดำทั้งหมด เนื่องจากมีการเปลี่ยนแปลงวิธีจัดการ Thumbnail รูปในเฟิร์มแวร์ 2 กับ 3 วิธีแก้คือ ให้ทำการสร้างโฟลเดอร์ .MISC ภายใต้โฟล์เดอร์ย่อย 1xxAPPLE แล้วทำการย้ายไฟล์ที่ไม่ใช่ไฟล์รูปไปไว้ด้านในนั้น แล้วรูปภาพด้านใน Camera Roll จะแสดงผลอีกครั้ง สำหรับ Thumbnail ที่หน้าแรกของ Camera Roll ให้ทำการดึงสำเนาของ Media/DCIM/.MISC มาด้วย (ห้ามลืมตอนทำสำเนาข้อมูล) ไม่เช่นนั้นอาจจะต้องถ่ายภาพเล่นๆ ซักภาพแล้วลบทิ้ง เพื่อให้มีการสร้างตัว Thumbnail ที่ถูกต้อง ซึ่งผลกระทบจากการลืมทำสำเนาโฟลเดอร์ดังกล่าวคือ รูปภาพที่ถ่ายเพิ่มไปอาจจะทับกับรูปเดิมได้

นอกจากนี้ให้ตรวจสอบสิทธิ์ของไฟล์ที่นำไปวางกลับสู่ใน iPhone ซึ่งควรจะมีสิทธิ์ของผู้ใช้เป็น mobile:mobile และสิทธิ์การเข้าถึงเป็น 600 ตามสิ่งที่ควรจะเป็นในระบบที่ไม่ถูกแทรกแซง สำหรับ Preferences ของ com.apple.springboard.plist (เช่น นาฬิกาปลุก) จำเป็นต้อง Restart เครื่องเพื่อให้ระบบนำ Setting ที่ตั้งไว้ไปใช้ รวมไปถึง Preferences อื่นๆ เช่น com.apple.Preferences.plist อาจจะต้อง Restart ด้วยเช่นกัน

การเปิด StoreGeniusMode ให้ปิด iTunes แล้วจึงพิมพ์คำสั่งดังนี้ (บน Mac OS X) ลงใน Terminal

defaults write com.apple.iTunes StoreGeniusMode -bool yes

เมื่อเลิกใช้งานให้ปิด iTunes แล้วจึงพิมพ์คำสั่งต่อไปนี้เพื่อยกเลิก

defaults delete com.apple.iTunes StoreGeniusMode

สำหรับ Windows ให้พิมพ์คำสั่งนี้เพื่อเปิดใช้งาน iTunes

"%ProgramFiles%\iTunes\iTunes.exe" /StoreGeniusMode 1

หรือ

"%ProgramFiles(x86)\iTunes\iTunes.exe" /StoreGeniusMode 1

ข้อควรระวังสำหรับ StoreGeniusMode คือ มันจะล้าง Backup เดิมของ User account นั้นออกด้วย ดังนั้นถ้าจะใช้งานกรุณาสร้าง Account ใหม่ขึ้นมาจัดการน่าจะดีกว่า

สำหรับหลังจากนี้อยากจะทำอะไรเพิ่มเติมก็ตามสะดวกครับ