บทนำ (Overview)
จากบทความที่แล้วเราเสนอวิธีการข้ามการตรวจสอบ “Jailbreak” เครื่องโดยวิธีการ “Method Swizzling” (How to bypass the Jailbreak Detection – Method Swizzling) และโดยใช้โปรแกรมที่ชื่อว่า “xCon” (How to bypass the Jailbreak Detection using xCon) และอีกโปรแกรมคือ (How to bypass the Jailbreak Detection using tsProtector) มาในบทความนี้นำเสนออีกโปรแกรม แต่มีความน่าสนใจคือ โปรแกรมสามารถ “Reverse Engineering” เพื่อเห็น “Obj-c class” และ “Obj-c method” แถมยังปรับค่าที่เป็น “Boolean” ได้อีก เหมือนการทำ “Method Swizzling” เลยอย่างนั้น
ขั้นตอน (Steps)
- เครื่อง “iOS” ต้องผ่านการ Jailbreak เสียก่อน (How to jailbreak iOS – “PP Jailbreak”)
- ติดตั้งโปรแกรม “DVIA” จากนั้นไปที่รายการ “Jailbreak Detection” และเลือก “Jailbreak Test 1” พบว่าโปรแกรมสามารถตรวจจับได้ว่าเครื่อง “Jailbreak”
- เพิ่ม “Sources” ใน “Cydia” เป็น http://repo.biteyourapple.net
- จากนั้น “Search” คำว่า “Flex2” และ ติดตั้ง
- เมื่อ “Restart SpringBoard” เสร็จเรียบร้อย ให้เปิดโปรแกรม “Flex 2”
- ให้กดเครื่องหมายบวก (+) แล้วลองเลือกโปรแกรมที่ต้องการหลบการตรวจสอบ “Jailbreak”
- จากนั้นเลือก “DVIA Patch” ถ้า “Click” เครื่องหมายถูกจะหมายถึงจะทำการหลบการตรวจสอบ “Jailbreak” แต่ถ้าเอาเครื่องหมายถูกออก หมายถึงยังไม่เดินการหลบ (Patch) แล้วมาคลิกเลือก “icon” ที่ “DVIA Patch” อีกที
- คลิก “Add Units…”
- จากนั้นเลือก “DVIA”
- ทดลองใช้คำค้นว่า “Jail” โปรแกรมจะทำการค้นหาทั้งชื่อ “Class” และ “Method” ของภาษา “Object-c” ออกมา
- จากตัวอย่างพบ “JailbreakDetectionVC” ให้คลิกเข้าไป จากนั้นพยายามทดลองเลือก “Method” ที่อาจเกี่ยวข้อง จากตัวอย่างลองเลือก -(BOOL) isJailbroken
- เมื่อเสร็จสิ้นให้ถอยหลังกลับมาที่หน้าหลัก (Patch Editor) จะพบ “Unit” ที่ “Add” เข้ามาใหม่ (Unit for -(BOOL) isJailbroken)
- ให้เลือก “Unit for -(BOOL) isJailbroken” แล้วมาตรวจสอบที่ “Return value” คลิกเลือกเปลี่ยนค่าเป็น “False”
- ทดลองทำซ้ำในข้อสองพบว่า ไม่สามารถตรวจจับได้ว่าเครื่อง “Jailbreak”