Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[bug] cyan does not fix names like libsubstrate.dylib #6

Closed
1 task done
TheNightRider12 opened this issue Oct 4, 2024 · 2 comments
Closed
1 task done

[bug] cyan does not fix names like libsubstrate.dylib #6

TheNightRider12 opened this issue Oct 4, 2024 · 2 comments
Labels
bug Something isn't working good first issue Good for newcomers help wanted Extra attention is needed

Comments

@TheNightRider12
Copy link

have you searched the existing issues?

  • this is a unique issue. i agree that if this isn't a unique issue, i'll be BLOCKED from the cyan repo

describe the bug.

When building an IPA with the rewrite, I am running into a crashing issue with an app that I build with it. When building Rocket For Instagram with the tweak file, the Cephi framework and the SideloadFix for Instagram being sideloaded, it seems like the Sideload fix .dylib is trying to load libsubstrate.dylib, which is not present. Causing the app to crash on launch.

However, when I have built this in the past, and even now, to test, using the non-rewrite version of pyzule, using the same .debs and the same SideloadFix dylib, I do not crash, and I do not get the libsubstrate.dylib reason for the crash (no crashes at all when build using the pre-rewrite pyzule).
IMG_0626

@TheNightRider12 TheNightRider12 added the bug Something isn't working label Oct 4, 2024
@asdfzxcvbn
Copy link
Owner

yeah, the code for the "better support for manually modified dylibs" feature in pyzule was terrible, so i decided to take it out

you can see how it worked in pyzule: https://github.com/asdfzxcvbn/pyzule/blob/fc5ed8342cf852fd522dbdd68a7aedbea613d194/pyzule.py#L455

vs how it works in cyan:

for dep in self.get_dependencies():

overall the code is way cleaner (imo) and less loops are needed. users would have to manually fix the shitty libsubstrate dependency with install_name_tool to something like @rpath/CydiaSubstrate.framework/CydiaSubstrate

i really wanted to keep this "feature" but due to how substrate has so many names (which is stupid, btw) it would have to be implemented in some sucky way. i tried but all the "solutions" i came up with were shit and didn't work for me so i decided to leave it out.

if someone is willing to open a PR to implement fixing names like libsubstrate.dylib or CydiaSubstrate.dylib like in pyzule, i would gladly review it. of course the code needs to remain clean, with little loops, and be readable (unlike pyzule lmao)

@asdfzxcvbn asdfzxcvbn closed this as not planned Won't fix, can't repro, duplicate, stale Oct 4, 2024
@asdfzxcvbn asdfzxcvbn changed the title [bug] App Crashes When Built with Cyan. "libsubstrate.dylib not found". Can Build and with old Pyzule and install fine. [bug] cyan does not fix names like libsubstrate.dylib Oct 4, 2024
@asdfzxcvbn asdfzxcvbn pinned this issue Oct 4, 2024
@asdfzxcvbn asdfzxcvbn added help wanted Extra attention is needed good first issue Good for newcomers labels Oct 4, 2024
@asdfzxcvbn
Copy link
Owner

oh by the way, you don't need to inject sideloadfix when you have rocket. rocket already contains sideload fixes

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working good first issue Good for newcomers help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

2 participants