utmapp / UTM

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

UTM refuses to install on iOS 14.2 with Odyessyra1n (Checkra1n with Sileo) Jailbreak #537

Closed Vishram1123 closed 3 years ago

Vishram1123 commented 4 years ago

UTM refuses to install on my iPhone 7 with iOS 14.2 and jailbroken with Checkra1n. When I try to install it with Filza, it fails and says Failed to verify code signature of /var/installd/Library/Caches/com.apple.mobile.installd.staging/temp.FVF0y5/extracted/Payload/UTM.app : 0xe800801C (No code signature found.) Could someone please help me understand what I am doing wrong?

osy commented 4 years ago

The current jailbreak install instructions are out of date. I don’t have a jailbroken device to test with so if anyone has a good guide I can steal from it.

Vishram1123 commented 4 years ago

Otherwise, is it possible to port this to Cydia, as a jailbreak tweak?

osy commented 4 years ago

You’ll run into the same problem.

Vishram1123 commented 4 years ago

What is this error actually caused by?

osy commented 4 years ago

Older jailbroken iOS allows you to install apps that are missing a signature. From your and other people’s report it seems like on iOS 14 even if you’re jailbroken you still need a signature. One way is to use iOS app signer or AltStore or reprovision to generate a valid signature.

Vishram1123 commented 4 years ago

48F3573C-968B-456B-BBDF-E8D695EB6AAB I seem to have found this in the Filza app under the Scripts subcategory when I enter the context menu (3D touch). Could it help?

osy commented 4 years ago

idk did you try it?

Vishram1123 commented 4 years ago

Yeah, it made a separate ipa file named UTM_resigned.ipa. While that took longer and progressed further, it still ended up with the same error.

Vishram1123 commented 4 years ago

I figured it out. Using this tutorial, I converted the ipa to a .deb, and then I installed it using Sileo and resprung. After that, it works perfectly. I will attach the .deb file shortly

Edit: Here is the .deb file of UTM

TheAwesome98-Real commented 4 years ago

Are you on checkra1n or odysseyra1n? Just wondering, am confused

Vishram1123 commented 4 years ago

Yeah, that may be part of the problem; when I jailbroke with Checkra1n (the one that installs Cydia), I installed Sileo on top of that, but Sileo didn't show some tweaks that Cydia had.

TheAwesome98-Real commented 4 years ago

@TheAwesome98-Real In the title, it says odysseyra1n, it's checkra1n, but a little modified, odysseya1n is a custom checkra1n that jailbreaks your iDevice and installs sileo, instead of cydia, so in conclusion, he isn't using checkra1n, he is using odysseyra1n

I know what odysseyra1n is, I was just confused at the title haha

TheAwesome98-Real commented 4 years ago

Yeah, that may be part of the problem; when I jailbroke with Checkra1n (the one that installs Cydia), I installed Sileo on top of that, but Sileo didn't show some tweaks that Cydia had.

Yeah, if you have checkra1n you should install sileo through there since it can un/reinstall cydia

Randomblock1 commented 4 years ago

One thing you should be able to do is install UTM as a System App by extracting UTM.app from the ipa and copying it to /Applications/. Then, you just run UICache -a. I don’t have a device to test it on though.

Vishram1123 commented 4 years ago

This is essentially what I did by making it a .deb; it copied the UTM.app to the Applications folder, then sbreload refreshes the uicache, doing essentially the same thing.

TheAwesome98-Real commented 4 years ago

Does doing that make an icon on the Home Screen? I never thought it did, I was gonna try that for an experiment.

Vishram1123 commented 4 years ago

It does. The only thing it doesn't do is that it doesn't show the app settings in the Settings app.

Vishram1123 commented 4 years ago

The .deb file can be found here

TheAwesome98-Real commented 4 years ago

I'll try doing that with one of my apps that won't install. Thanks again for the .deb, i'll make sure to install it when checkra1n senses my iPhone :)

Vishram1123 commented 4 years ago

I'll try doing that with one of my apps that won't install. Thanks again for the .deb, i'll make sure to install it when checkra1n senses my iPhone :)

What do you mean by "when checkra1n senses my iPhone"? What iPhone do you have?

TheAwesome98-Real commented 4 years ago

What do you mean by "when checkra1n senses my iPhone"? What iPhone do you have?

Sometimes, checkra1n won't sense my iPhone. It only displays Connect your iPhone, iPod touch, iPad, or AppleTV to begin. It's an iPhone 6s. It's seen by usbmuxd, which lets me browse files, but checkra1n won't display it atm. it has worked in the past, i've tried killing and relaunching usbmuxd but nothing happened, even after quitting checkra1n.

TheAwesome98-Real commented 4 years ago

I’ll be able to comment the exact command later but my fix for this was to run checkrain in terminal mode and connect my iPad already in DFU mode

How do i put it into DFU w/out checkra1n being open? do i just follow the normal instructions?? EDIT: wait it has to be in recovery mode and you cant do that manually afaik EDIT 2: yes you can EDIT 3: updating checkra1n fixed it, no idea why, thats also what fixed it last time EDIT 4 (final): just reset phone into recovery when on checkra1n Home Screen

Vishram1123 commented 4 years ago

I am currently in the process of creating a Cydia repository with both the legacy and the modern UTM app in it.

Vishram1123 commented 4 years ago

I have successfully created a repository and here it is: https://vishram1123.gitlab.io/utm-cydia/. I used gitlab because I found github too cumbersome.

EDIT: If you could help me figure out how to make the installation respring the iPhone, please do so. Thanks EDIT #2: Go here to find directions on how to install on jailbroken iPhone and follow the README there

Vishram1123 commented 4 years ago

Does anyone have any thoughts on my repo?

TheAwesome98-Real commented 4 years ago

Thanks for making the repo, the deb wouldn't install in zebra because of a blank dependency, ill install it from you repo and should solve the problem!

Vishram1123 commented 4 years ago

I think that is why it doesn't install properly with Sileo either... I will update it so that it requires mobilesubstrate <14.4 or something

Vishram1123 commented 4 years ago

Actually, what I would love to do is create an add on for Filza that automatically converts an IPA to a .deb

Vishram1123 commented 4 years ago

I know the commands, I am just trying to figure out how to do the implementation

Vishram1123 commented 4 years ago

UTM-Legacy is for iOS 13 and below (it is UTM 1.0) and normal UTM is UTM 2.0.10

Vishram1123 commented 4 years ago

You can, but it will have the same functionality as UTM-Legacy, but if you install UTM-Legacy on iOS 14, it will still work, but the VMs are not backwards compatible (UTM VMs will not work in UTM-Legacy)

TheAwesome98-Real commented 4 years ago

I have successfully created a repository and here it is: https://vishram1123.gitlab.io/utm-cydia/. I used gitlab because I found github too cumbersome.

EDIT: If you could help me figure out how to make the installation respring the iPhone, please do so. Thanks EDIT #2: Go here to find directions on how to install on jailbroken iPhone and follow the README there

I’m not sure where, but there’s a bit inside of debian packages where you can specify what to do after install, and by default (usually) it’s “killall -9 SpringBoard” which restarts SpringBoard.

Vishram1123 commented 4 years ago

I have successfully created a repository and here it is: https://vishram1123.gitlab.io/utm-cydia/. I used gitlab because I found github too cumbersome. EDIT: If you could help me figure out how to make the installation respring the iPhone, please do so. Thanks EDIT #2: Go here to find directions on how to install on jailbroken iPhone and follow the README there

I’m not sure where, but there’s a bit inside of debian packages where you can specify what to do after install, and by default (usually) it’s “killall -9 SpringBoard” which restarts SpringBoard.

Could you please tell me how? I don't understand

Vishram1123 commented 4 years ago

I think I fixed the Zebra issue because I made it depend on firmware-sbin. Try it now

Vishram1123 commented 4 years ago

Btw Happy Thanksgiving everyone

TheAwesome98-Real commented 4 years ago

Btw Happy Thanksgiving everyone

I’m British but thanks anyway

TheAwesome98-Real commented 4 years ago

I think I fixed the Zebra issue because I made it depend on firmware-sbin. Try it now

Redownloading the deb now. Thanks!

Vishram1123 commented 4 years ago

No problem

Vishram1123 commented 3 years ago

Is anyone having bad luck running UTM 2.0.12 on the iPhone, repository or no?

Vishram1123 commented 3 years ago

I described that on my repo page; you have to go to /Applications/UTM(-Legacy or -New).app/Settings.Bundle/Root.plist in Filza and manually go into the Items and search for the setting you want. Right now, I am trying to integrate UTM's settings into PreferenceLoader. If someone could help me that would be great, but right now I am trying to sort out why the app won't launch. I think it is because of its unnecessary reliance on MobileSubstrate (Dependencies: firmware-sbin, MobileSubstrate), so I will try to get rid of that dependency and see if it works. If you are on an older version right now, do not upgrade.

Vishram1123 commented 3 years ago

Strange-when I install it with APT, it does not install properly, leaving behind the UTM executable. If anyone has a problem with UTM installed from the repository, download the IPA from getutm.app and replace the executable.

PS: if anyone knows why this happens/ how to fix it, please tell me. When I extract the .deb on my computer with ar x com.utmapp.UTM-new.deb, the executable is there.

TheAwesome98-Real commented 3 years ago

I got UTM btw (from the deb not the repo), and it works great!

Vishram1123 commented 3 years ago

You should update to v2.0.12, the one in the .deb is 2.0.09 or something

TheAwesome98-Real commented 3 years ago

You should update to v2.0.12, the one in the .deb is 2.0.09 or something

alright, I’ll do that at some point

Vishram1123 commented 3 years ago

You will see here why this won't be done. Maybe try this? I don't know if it will work, however.

EDIT: I tried spoofing my iOS version to iOS 13, but nothing changed. I think it is deeper than simply the same iOS version.

ThatStella7922 commented 3 years ago

I have successfully created a repository and here it is: https://vishram1123.gitlab.io/utm-cydia/. I used gitlab because I found github too cumbersome. EDIT: If you could help me figure out how to make the installation respring the iPhone, please do so. Thanks EDIT #2: Go here to find directions on how to install on jailbroken iPhone and follow the README there

I’m not sure where, but there’s a bit inside of debian packages where you can specify what to do after install, and by default (usually) it’s “killall -9 SpringBoard” which restarts SpringBoard.

Could you please tell me how? I don't understand

See this. https://www.debian.org/doc/debian-policy/ch-maintainerscripts.html and potentially https://iphonedevwiki.net/index.php/Packaging#DEBIAN_folder

Vishram1123 commented 3 years ago

@ThatsNiceGuy Thank you so much @IIWare You must manually do that if you want to, and I don't think it is possible even if you wanted to as iOS 14's frontend is done slightly differently, so it will not be possible to do that.

TheAwesome98-Real commented 3 years ago

also make sure to set it to uicache && killall -9 SpringBoard so the uicache is refreshed

Vishram1123 commented 3 years ago

Could somebody check if this tutorial works? My phone is currently not jailbroken

Vishram1123 commented 3 years ago

I finally got around to fixing my packages in my repository. Can someone please check if it works? (I got rid of the UTM-Legacy, as it provides the same functionality as UTM).