How to install iOS Binaries on Non-jailbroken Physical Devices Using iOS-deploy (Signed app)

จากบทความที่เราในการลงโปรแกรม .ipa ที่ได้มาบนเครื่อง MacOS และต้องการติดตั้ง .ipa บนเครื่องที่ยังไม่ jailbreak How to install iOS Binaries on Non-jailbroken Physical Devices Using iOS-deploy

ในกรณีบาง app อาจมี Error เกิดขึ้นอันเนื่องมาจาก เราไม่ได้ signed app เสียก่อน ดังนี้

จากตัวอย่างเราได้จัดซื้อ developper id มาแล้ว และทดลอง login ใน xcode จากนั้น run โปรแกรม เปล่า ๆ ที่เราสร้างขึ้นมา ดังบทความดังต่อไปนี้  https://github.com/dpnishant/appmon/wiki/4.c.i-Creating-a-iOS-Developer-Profile หรือ ตัวอย่างการติดตั้งใช้งาน “appmon” http://blog.itselectlab.com/?p=10382

สำหรับตัวอย่างการจัดซื้อ developper id สามารถ https://www.privageapp.com/manual/apple-dev-account

ติดตั้งโปรแกรม applesign เพื่อ ทำการ Sign application จาก developer id ที่เราจัดซื้อมา และ login เสร็จสิ้น ใน xcode ดังนี้

brew install npm
npm install -g applesign

จากนั้นหา embedded.mobileprovision ซึ่งจะอยู่ใน .app ที่เราสร้างมาใน xcode ให้เข้าไปหาใน folder

~/Library/Developer/Xcode/DerivedData/

ให้อยู่ใน path เดียวกับ .ipa แล้วใช้คำสั่งดังนี้

applesign --mobileprovision "/Users/oat/Library/Developer/Xcode/DerivedData/MobilePentest-xxx/Build/Products/Debug-iphoneos/MobilePentest.app/embedded.mobileprovision" "DVIA-v2-swift.ipa"

รอจนเสร็จสิ้น

กลับไปใน Folder จะพบ application อีกตัวที่ signed แล้ว

จากนั้นใช้งาน ios-deploy เพื่อติดตั้ง .ipa จาก MacOS ไปยังเครื่อง iOS ที่ยังไม่ได้ jailbreak

ติดตั้ง Frida บนเครื่อง MacOS ให้เรียบร้อย สามารถติดตามได้จากบทความ How to install Frida on MacOS จากนั้น เสียบสายสัญญาณระหว่างเครื่อง MacOS และ iOS แล้วใช้คำสั่ง สามารถดูรายละเอียดเพิ่มเติมได้ที่ https://frida.re/docs/frida-ls-devices/

//ถ้าลง pythonn ใน virtual
source ~/virtual-python3/bin/activate

frida-ls-devices

เราจะพบ string ยาว ๆ ให้ copy มาใช้งาน

กลับไปที่ app ที่เรา signed มาเรียบร้อยให้ แตกโปรแกรม โดยใช้ zip ออกมา

เข้าไปให้อยู่ในส่วน app จากภาพคือ DVIA-va (.app) แล้วใช้คำสั่งติดตั้งโปรแกรมดังนี้

ios-deploy -I stringจากfrida --bundle "DVIA-v2.app" -W

จะพบว่าสามารถติดตั้งได้ดังนี้