-
Notifications
You must be signed in to change notification settings - Fork 936
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
Sideloading giving ldid error #1034
Comments
I'm having the issue too. It happens while trying to sideload Spotube AltServer: 1.7 What might be the root of the issue? |
Looking at the AltStore GitHub fork of ldid, the if (symtab != NULL) {
auto end(mach_header.Swap(symtab->stroff) + mach_header.Swap(symtab->strsize));
if (symtab->stroff != 0 || symtab->strsize != 0) {
_assert(end <= size);
_assert(end >= size - 0x10); <------
size = end;
}
} This is the only instance of I have never looked at ldid so I don't know much about what is going on in the greater context, but it looks like the two This makes sense as the Mach-O header format specifies the offset of the symbol table "String table" to be offset 16 bits from the start of the symbol table load command So it would make sense that the apps in question (Spotube, Kodi, etc.) have an issue in their compilation where the relevant Mach-O header(s) doesn't obey this requirement. Specifically, it looks like the symbol table is small enough to fit in the header size, but it is not offset correctly. But that is assuming that there are no other problems with the header(s) and symbol table where it would erroneously make it past the Again, I have no experience with ldid or macOS/iOS/Darwin binaries, but this is my cursory investigation as I would really like to be able to sideload Spotube with SideStore 😅 |
An update. I can confirm that the symbol table not being offset correctly is not the issue. TLDR: I still think that this is an issue with the way these apps are being built and signed (or not signed) before attempting to sideload. I may be wrong, but I have some reasons to believe it. I think it would be best to track down the exact building/signing/distribution method that DolphiniOS uses to become a Analyzing the So there is another issue somewhere, either in the built Spotube-iOS.ipa (more likely), or in ldid (less likely). Comparing Spotube to 2 sideloaded apps that I know work, DolphiniOS and iTorrent, I noticed that both of them are signed. DolphiniOS uses a self made certificate authority "OatmealDome Software":
and iTorrent uses an official Apple Developer certificate:
Whereas Spotube is not signed in any way:
I attempted to replicate what was done to sign DolphiniOS with a self made authority cert, but I was unable to sideload it with AltStore/SideStore:
The output is much the same, but there is a key difference and I'm not sure how important it is or how to change it yet. Both DolphiniOS and iTorrent have This is extra interesting because in this issue SideStore#227, there is an issue with Kodi and its file type being recognized as
So again, I would like to find how DolphiniOS solves this when building and signing. |
@wavecommander I would love to help out this issue too. Do you think its a product of spotube not being signed? |
To whom encounters this problem in the future, I found a workaround.
|
Recently updated AltServer, reinstalled AltStore and uninstalled/reinstalled the Mail plugin, but getting an ldid error when I use the sideload functionality.
AltServer: 1.5 (65)
iPhone 7Plus - 14.4
/Users/rileytestut/iCloud Drive (Archive)/Documents/Developer/Projects/AltStore/Dependencies/AltSign/AltSign/ldid/../../Dependencies/ldid/ldid.cpp(1354): _assert(): end >= size - 0x10
The text was updated successfully, but these errors were encountered: