บทนำ (Overview)
จากบทความก่อนหน้า How to bypass login – Method Swizzling และ How to bypass login – Invoke methods เราสามารถข้าม “Login” ได้โดยไม่ต้องทราบ “Username” และ “Password” บทความนี้นำเสนอเทคนิคเรียกว่า “Application Patching” หลักการเหมือน “Method Swizzling” แต่ใช้วิธีการเหมือนกับการ “Patches” โปรแกรม ดังนั้นโปรแกรมที่ “Patches” เรียบร้อยแล้วเปรียบเสมือนโปรแกรมที่ถูก “Cracked” ซึ่งจะสามารถข้าม “Login” ได้ทุกครั้งทันทีที่เปิดโปรแกรม ไม่จำเป็นต้องใช้เครื่องมือสำหรับการข้ามในขณะ “Run-time” อย่าง “Cycript”
ขั้นตอน (Steps)
- เครื่อง “iOS” ต้องผ่านการ Jailbreak เสียก่อน (How to jailbreak iOS – “PP Jailbreak”)
- ติดตั้งโปรแกรม “DVIA” จากนั้นไปที่รายการ “Runtime manipulation” และเลือก “Login Method1″
- เพิ่ม “Sources” ใน “Cydia” เป็น http://repo.biteyourapple.net
- จากนั้น “Search” คำว่า “Flex2” และ ติดตั้ง
- เมื่อ “Restart SpringBoard” เสร็จเรียบร้อย ให้เปิดโปรแกรม “Flex2”
- ให้กดเครื่องหมายบวก (+) แล้วลองเลือกโปรแกรมที่ต้องการตรวจสอบ
- จากนั้นเลือก “DVIA Patch” ถ้า “Click” เครื่องหมายถูกจะหมายถึงจะทำการทำ “Patches” โปรแกรมนั้น ๆ แต่ถ้าเอาเครื่องหมายถูกออก จะไม่ดำเนินการ “Patches” โปรแกรม
- คลิก “Add Units…”
- จากนั้นเลือก “DVIA”
- ทดลองใช้คำค้นว่า “Runtime” โปรแกรมจะทำการค้นหาทั้งชื่อ “Class” และ “Method” ของภาษา “Object-c” ออกมา (ในการทดสอบนั้นเราจะพิจารณาชื่อ “Class” และ “Method” ที่เกี่ยวข้องกับการเรียกหน้าหลัง “Login”)
- จากการสืบค้น “Method” เราพบว่ามี “Method” ที่น่าสนใจ คือ “isLoginValidated” ให้เราทดลองเลือก “Method” ดังกล่าวและจะมีเครื่องหมายถูกขึ้น
- ให้กดปุ่มถอยหลังกลับจนไปถึงหน้า “Patch Editor” จากนั้นเลือกคลิกเลือก “Method” ที่เราได้เลือกมา
- คลิกเลือกตรง “pass through” เพื่อตั้งค่า “Patches”
- ตั้งค่า “Patch” ให้เลือก “True”
- จะพบค่า “pass through” เปลี่ยนเป็น “TRUE”
- กลับไปที่หน้าหลัก เพื่อเลือกโปรแกรมที่เราต้องการ “Patch” โดยทำเครื่องหมายถูก
- ทดลองปิดและเปิดโปรแกรมที่เราตรวจสอบใหม่อีกครั้ง จากนั้นลองกดปุ่ม “Login” โดยไม่ต้องใส่ “username” และ “password” จะพบว่าสามารถข้ามไปยังหน้าหลัง “Login” ได้