pwn20wndstuff / Undecimus

unc0ver jailbreak for iOS 11.0 - 12.4
BSD 3-Clause "New" or "Revised" License
6.64k stars 1.3k forks source link

How to correctly fake sign tvOS app with ldid for Unc0verTV #2125

Open sy6sy2 opened 4 years ago

sy6sy2 commented 4 years ago

Hi, I'm a member of the Kodi team and I work on the jailbreak support part.

At the moment our Kodi deb file works well on checkra1n devices but crash at launch on Unc0verTV devices (I talk about dpkg -i install method).

Our app contains the main binary file (kodi), a TopShelf plugin with kodi-topshelf binary file and a lot of dylib files.

This is what we do (work well on checkra1n devices):

My questions are:

  1. Why it works on checkra1n devices but not on Unc0verTV devices?
  2. What should we do to have our app correctly working on Unc0verTV devices after a dpkg -i install?
    • Fake sign ALL binaries (with dylib files as well)?
    • Fake sign kodi-topshelf file with a correct entitlements file?
    • Something else?

Thank you!

sy6sy2 commented 4 years ago

So, it seems that we need to fake-sign with ldid ALL Mach-O files embedded in the app. After that the app runs well on Unc0verTV devices.

BUT, TopShelf still not works. And with the same deb file TopShelf works well on checkra1n devices.