utmapp / UTM

Virtual machines for iOS and macOS
https://getutm.app
Apache License 2.0
26.49k stars 1.33k forks source link

Request: Fakesign all the binaries in the .ipa for jailbroken users to use with AppSync #36

Closed jakeajames closed 4 years ago

jakeajames commented 4 years ago

This way jailbroken users don't have to sign the app (won't cause any trouble for non-jailbroken ones). For every macho just do: ldid -S /path/to

osy commented 4 years ago
  1. Does this work with the required entitlements? I.e. has this been tested? I don’t have a jailbroken device.
  2. Is the preferred format IPA or DEB?
basti564 commented 4 years ago
  1. Yes, this should work. (I don't know if anyone has tested it with UTM specifically)
  2. IPA, because most app sideloaders(iFunbox, impactor and co.) only accept IPA files.
osy commented 4 years ago

I'm asking 1 specifically for someone to test it because UTM requires get-task-allow entitlement. I'm not sure if ldid will give it. My hunch is no.

basti564 commented 4 years ago

Do you have a fakesigned IPA? I could try to install it and test if it works

osy commented 4 years ago

No, I don't. For the future, please do not answer questions unless you have tested yourself already and know it for a fact. Otherwise it will lead to confusion.

basti564 commented 4 years ago

Sorry, but initially answered because I knew the answer for your question 2. about the preferred format of apps.

basti564 commented 4 years ago

I made a script that automatically fakesigns an .ipa file using ldid from Homebrew. Just type "path/to/fakesigner.sh path/to/UTM.ipa" and it will produce a file called UTM.ipa-fakesigned.ipa This build has been tested by installing it on a jailbroken iPhone 7 with AppSync Unified via iFunBox and booting a VM

ghost commented 4 years ago

43 please help me!

baconglucose commented 4 years ago

I made a script that automatically fakesigns an .ipa file using ldid from Homebrew. Just type "path/to/fakesigner.sh path/to/UTM.ipa" and it will produce a file called UTM.ipa-fakesigned.ipa This build has been tested by installing it on a jailbroken iPhone 7 with AppSync Unified via iFunBox and booting a VM

Your script didn't work for me. It repackaged the ipa but I still couldn't install it. However, I was able to install the binary you provided.

For anyone coming across this with a jailbroken device and appsync. You don't need tools like iFunBox because the command line tool appinst should have been installed with appsync (It's from the same creator and can be found on her repository). Use it like this (with a mobile terminal or ssh):

appinst <path to ipa file>
jakeajames commented 4 years ago

There are no limitations when fakesigning, you can have any kind of entitlement (you can even disable sandbox etc) with it. The preferred format is .ipa, debs are used if distributed with Cydia.

Small edit: to sign with entitlements do: ldid -S/path/to/entitlements.xml /path/to/macho (there's no space after -S)

osy commented 4 years ago

Please check https://github.com/utmapp/UTM/releases/download/v0.2-fakesign/UTM.ipa to see that the fake sign has worked.

basti564 commented 4 years ago

It works 👌

osy commented 4 years ago

We also need someone to test #67 basically compare v0.2 and v0.2 fakesign and see if the fakesign version supports larger memory sizes.

In my personal experience, I have Windows 7 on iPad 2018 with 2GB of RAM. On v0.1 this is fine but on v0.2 it crashes on boot. I don't have a JB device to test, so I don't know if the fakesign version can bypass the iOS memory limits.

The-SamminAter commented 4 years ago

I’ll test in similar conditions using the fakesigned on my jailbroken phone @osy86

The-SamminAter commented 4 years ago

@osy86 I’m having problems: https://github.com/utmapp/UTM/issues/32#issuecomment-590649167