บทนำ (Overview)
ในการใช้งาน Frida เพื่อทดสอบบนเครื่องไม่ Jailbreak นั้นจะต้องมีการ Setup อุปกรณ์และโปรแกรมให้เป็นที่เรียบร้อยเสียก่อน โดยหลักการเบื้องต้นคือจะต้อง Modify โปรแกรมที่จะต้องการทดสอบเล็กน้อย โดยการเพิ่ม Library ที่ชื่อว่า FridaGadget.dylib เข้าไปในโปรแกรม .ipa จากตัวอย่างข้างล่างจะเป็นวิธีการใช้งาน โปรแกรม Objection สำหรับช่วยในการ Inject Library ดังนี้
Preparations
- ติดตั้ง xcode
- สมัคร Developer ID มีค่าใช้จ่าย (สำหรับ Apple Id ที่เป็น Free ลองตรวจสอบอีกครั้งล่าสุดไม่สามารถใช้งานได้ ทดสอบล่าสุด 15 – 17 มีนาคม 2562)
- สมัครตามขั้นตอน
- ติดต่อ Call centre เพื่อส่ง ID card หรือ Car license เพื่อยืนยันตัวตน process ประมาณ 2-3 วันเสร็จสิ้น (ภาษาอังกฤษ)
- ทำการ Login Developer ID ใน xcode (คลิกตรง Team | Accounts | แล้วใส่ username password จากที่สมัคร)
- กด Manage Certificates | + | เลือก iOS Development
- สร้าง Project ใหม่ และทดสอบเสียบสายสัญญาณ กับเครื่อง iOS จากนั้นทดลอง Run app เพื่อติดตั้งบนเครื่อง iOS
- ในครั้งแรกที่ติดตั้งเครื่อง iOS จะต้องเชื่อมกับ Internet และจะพบข้อความดังนี้
- ให้ไปที่เครื่อง iOS และไปที่เมนู Settings | General | Profile & Device Management | DEVELOPER APP | และกดปุ่ม Trust
- ติดตั้ง objection How to install “objection”
- ดาวน์โหลด objection จาก https://github.com/sensepost/objection
- เข้าไปยังโฟลเดอร์ objection ที่โหลดมา จะพบโปรแกรม setup.py
- จากนั้นใช้คำสั่ง Build และ Install ดังนี้
python setup.py build python setup.py install objection
- ติดตั้ง applesign
npm install -g applesign
- ติดตั้ง insert_dylib
git clone https://github.com/Tyilo/insert_dylib && cd insert_dylib &&xcodebuild && cp build/Release/insert_dylib /usr/local/bin/insert_dylib
- ติดตั้งโปรแกรม พวก zip
brew install p7zip
Patching
- ค้นหา Signature สำหรับ Sign App เพื่อติดตั้งบนเครื่อง iOS
security find-identity -p codesigning -v
- ใช้ objection เพื่อ patching โปรแกรม
objection patchipa -s DVIA-v2-swift.ipa -c [ใส่ signature ที่พบ]
- จะพบโปรแกรมที่ patch แล้ว
อ้างอิง
https://github.com/sensepost/objection/wiki/Patching-iOS-Applications