[GH-ISSUE #146] Esign won’t work #134

Closed
opened 2026-03-03 15:30:53 +03:00 by kerem · 16 comments
Owner

Originally created by @Blockr22 on GitHub (Sep 2, 2024).
Original GitHub issue: https://github.com/LiveContainer/LiveContainer/issues/146

Describe the issue

I tried latest version from https://esign.yyyue.xyz/
But it crashes & won’t open. My main goal is to inject tweaks into decrypted IPA’s. I m not sure if live container can already do that & if yes, how ?
I see tweak section in live container itself but can’t figure out what to do there.
Therefore i was trying esign but it wont work.

Instructions to reproduce

Just install from above link & try for yourself

What version of LiveContainer are you using?

2.1.2

Other

No response

Originally created by @Blockr22 on GitHub (Sep 2, 2024). Original GitHub issue: https://github.com/LiveContainer/LiveContainer/issues/146 ### Describe the issue I tried latest version from https://esign.yyyue.xyz/ But it crashes & won’t open. My main goal is to inject tweaks into decrypted IPA’s. I m not sure if live container can already do that & if yes, how ? I see tweak section in live container itself but can’t figure out what to do there. Therefore i was trying esign but it wont work. ### Instructions to reproduce Just install from above link & try for yourself ### What version of LiveContainer are you using? 2.1.2 ### Other _No response_
kerem 2026-03-03 15:30:53 +03:00
Author
Owner

@khanhduytran0 commented on GitHub (Sep 2, 2024):

Esign is not a supported installation method. LiveContainer requires the get-task-allow entitlement for both JIT and JIT-less which is only available to developer certificates.

<!-- gh-comment-id:2323894187 --> @khanhduytran0 commented on GitHub (Sep 2, 2024): Esign is not a supported installation method. LiveContainer requires the `get-task-allow` entitlement for both JIT and JIT-less which is only available to developer certificates.
Author
Owner

@khanhduytran0 commented on GitHub (Sep 2, 2024):

In other hand, the esign app itself, when running in LiveContainer, unknowingly exits itself and I have yet to figure out why.
(pretty sure you meant this instead of that above comment, was reading it too fast)

<!-- gh-comment-id:2323895586 --> @khanhduytran0 commented on GitHub (Sep 2, 2024): In other hand, the esign app itself, when running in LiveContainer, unknowingly exits itself and I have yet to figure out why. (pretty sure you meant this instead of that above comment, was reading it too fast)
Author
Owner

@Blockr22 commented on GitHub (Sep 2, 2024):

Yes, esign exits itself. And would be great if it can work. Thnx.

<!-- gh-comment-id:2324885804 --> @Blockr22 commented on GitHub (Sep 2, 2024): Yes, esign exits itself. And would be great if it can work. Thnx.
Author
Owner

@ivoidcat commented on GitHub (Oct 8, 2024):

+1

<!-- gh-comment-id:2398955049 --> @ivoidcat commented on GitHub (Oct 8, 2024): +1
Author
Owner

@fredystar200 commented on GitHub (Nov 17, 2024):

+1

<!-- gh-comment-id:2480877233 --> @fredystar200 commented on GitHub (Nov 17, 2024): +1
Author
Owner

@Cyosai commented on GitHub (Dec 8, 2024):

+1, agree

<!-- gh-comment-id:2526013095 --> @Cyosai commented on GitHub (Dec 8, 2024): +1, agree
Author
Owner

@Cyosai commented on GitHub (Dec 23, 2024):

hugeBlack, thank you so much for investigating this issue and fixing it!)

<!-- gh-comment-id:2559776363 --> @Cyosai commented on GitHub (Dec 23, 2024): hugeBlack, thank you so much for investigating this issue and fixing it!)
Author
Owner

@xsmashx88x commented on GitHub (Dec 25, 2024):

Well, I managed to make ESign run in LiveContainer by directly modifying its binary. Not sure whether the modification will cause any problem since signing seems to be working correctly

It seems that ESign did some check in its _MOD_INIT_FUNC, which fails in LiveContainer. So I changed its flag of __mod_init_func section so these initializers are skipped and ESign can launch.

Here's a script to perform the patch:

Open a shell in the same directory as the ESign ipa, make sure its name is esign_5.0.2_unsigned.ipa Run the script and you'll find the patched ipa named esign_5.0.2_patched.ipa

tar -xf esign_5.0.2_unsigned.ipa
cd Payload/ESign.app/
FILE="ESign"
PATTERN="5f5f6d6f645f696e69745f66756e63"
OFFSET=64
NEW_BYTE="ff"
echo "Patching"
MATCH_OFFSET=$(xxd -p "$FILE" | tr -d '\n' | grep -bo "$PATTERN" | head -n 1 | cut -d: -f1)
ACTUAL_OFFSET=$((MATCH_OFFSET / 2 + OFFSET))
printf "\\x$NEW_BYTE" | dd of="$FILE" bs=1 seek="$ACTUAL_OFFSET" count=1 conv=notrunc status=none
echo Patch Done! Packaging...
cd ../../
tar -cf esign_5.0.2_patched.ipa Payload/
rm -r Payload
echo Done!

no chance you can post the ipa here eh?

<!-- gh-comment-id:2561883548 --> @xsmashx88x commented on GitHub (Dec 25, 2024): > Well, I managed to make ESign run in LiveContainer by directly modifying its binary. Not sure whether the modification will cause any problem since signing seems to be working correctly > > It seems that ESign did some check in its `_MOD_INIT_FUNC`, which fails in LiveContainer. So I changed its flag of `__mod_init_func` section so these initializers are skipped and ESign can launch. > > Here's a script to perform the patch: > > Open a shell in the same directory as the ESign ipa, make sure its name is `esign_5.0.2_unsigned.ipa` Run the script and you'll find the patched ipa named `esign_5.0.2_patched.ipa ` > > ```shell > tar -xf esign_5.0.2_unsigned.ipa > cd Payload/ESign.app/ > FILE="ESign" > PATTERN="5f5f6d6f645f696e69745f66756e63" > OFFSET=64 > NEW_BYTE="ff" > echo "Patching" > MATCH_OFFSET=$(xxd -p "$FILE" | tr -d '\n' | grep -bo "$PATTERN" | head -n 1 | cut -d: -f1) > ACTUAL_OFFSET=$((MATCH_OFFSET / 2 + OFFSET)) > printf "\\x$NEW_BYTE" | dd of="$FILE" bs=1 seek="$ACTUAL_OFFSET" count=1 conv=notrunc status=none > echo Patch Done! Packaging... > cd ../../ > tar -cf esign_5.0.2_patched.ipa Payload/ > rm -r Payload > echo Done! > ``` no chance you can post the ipa here eh?
Author
Owner

@UzawaReisaQwQ commented on GitHub (Jan 16, 2025):

Thanks to @hugeBlack for providing the script, but it seems that it cannot be used in CloudStudio's online environment. I have made some modifications myself, as follows:

echo "Extracting IPA..."
unzip -q esign_5.0.2_unsigned.ipa -d esign_unpacked || { echo "Failed to extract IPA"; exit 1; }
cd esign_unpacked/Payload/ESign.app/ || { echo "Target directory not found"; exit 1; }
FILE="ESign"
PATTERN="5f5f6d6f645f696e69745f66756e63"
OFFSET=64
NEW_BYTE="ff"
echo "Patching"
MATCH_OFFSET=$(xxd -p "$FILE" | tr -d '\n' | grep -bo "$PATTERN" | head -n 1 | cut -d: -f1)
if [ -z "$MATCH_OFFSET" ]; then
    echo "Pattern not found in the file."
    exit 1
fi
ACTUAL_OFFSET=$((MATCH_OFFSET / 2 + OFFSET))
printf "\\x$NEW_BYTE" | dd of="$FILE" bs=1 seek="$ACTUAL_OFFSET" count=1 conv=notrunc status=none
echo "Patch Done!"
echo "Packaging..."
cd ../../
zip -qr esign_5.0.2_patched.ipa Payload || { echo "Failed to package IPA"; exit 1; }
rm -rf esign_unpacked
echo "Done!"

Image

This is the latest version of ESign IPA file that I have patched. Remember to remove the. zip suffix:

esign_5.0.2_patched.ipa.zip

<!-- gh-comment-id:2596141818 --> @UzawaReisaQwQ commented on GitHub (Jan 16, 2025): Thanks to @hugeBlack for providing the script, but it seems that it cannot be used in CloudStudio's online environment. I have made some modifications myself, as follows: ```#!/bin/bash echo "Extracting IPA..." unzip -q esign_5.0.2_unsigned.ipa -d esign_unpacked || { echo "Failed to extract IPA"; exit 1; } cd esign_unpacked/Payload/ESign.app/ || { echo "Target directory not found"; exit 1; } FILE="ESign" PATTERN="5f5f6d6f645f696e69745f66756e63" OFFSET=64 NEW_BYTE="ff" echo "Patching" MATCH_OFFSET=$(xxd -p "$FILE" | tr -d '\n' | grep -bo "$PATTERN" | head -n 1 | cut -d: -f1) if [ -z "$MATCH_OFFSET" ]; then echo "Pattern not found in the file." exit 1 fi ACTUAL_OFFSET=$((MATCH_OFFSET / 2 + OFFSET)) printf "\\x$NEW_BYTE" | dd of="$FILE" bs=1 seek="$ACTUAL_OFFSET" count=1 conv=notrunc status=none echo "Patch Done!" echo "Packaging..." cd ../../ zip -qr esign_5.0.2_patched.ipa Payload || { echo "Failed to package IPA"; exit 1; } rm -rf esign_unpacked echo "Done!" ``` ![Image](https://github.com/user-attachments/assets/789cb42f-8a40-4cd6-8b45-2b0603409519) This is the latest version of ESign IPA file that I have patched. Remember to remove the. zip suffix: [esign_5.0.2_patched.ipa.zip](https://github.com/user-attachments/files/18442480/esign_5.0.2_patched.ipa.zip)
Author
Owner

@Nekuryo commented on GitHub (Jan 30, 2025):

@UzawaReisaQwQ Did you use the original esign.ipa or the "no logs" version?

<!-- gh-comment-id:2624744147 --> @Nekuryo commented on GitHub (Jan 30, 2025): @UzawaReisaQwQ Did you use the original esign.ipa or the "no logs" version?
Author
Owner

@UzawaReisaQwQ commented on GitHub (Jan 30, 2025):

@UzawaReisaQwQ Did you use the original esign.ipa or the "no logs" version?

I am using the latest version of the ESign IPA file downloaded from https://esign.yyyue.xyz to process it. Could you please upload the "nologs" version you mentioned? thank!

<!-- gh-comment-id:2624768673 --> @UzawaReisaQwQ commented on GitHub (Jan 30, 2025): > [@UzawaReisaQwQ](https://github.com/UzawaReisaQwQ) Did you use the original esign.ipa or the "no logs" version? I am using the latest version of the ESign IPA file downloaded from https://esign.yyyue.xyz to process it. Could you please upload the "nologs" version you mentioned? thank!
Author
Owner

@Nekuryo commented on GitHub (Jan 30, 2025):

@UzawaReisaQwQ I don't know if this one is the original author of the no lgos version or someone who continued his "project" but this is the newest esign no logs i could find:
https://www.reddit.com/r/sideloaded/comments/1dliije/esign_v502_no_logs/

<!-- gh-comment-id:2624819642 --> @Nekuryo commented on GitHub (Jan 30, 2025): @UzawaReisaQwQ I don't know if this one is the original author of the no lgos version or someone who continued his "project" but this is the newest esign no logs i could find: https://www.reddit.com/r/sideloaded/comments/1dliije/esign_v502_no_logs/
Author
Owner

@UzawaReisaQwQ commented on GitHub (Jan 30, 2025):

@UzawaReisaQwQ I don't know if this one is the original author of the no lgos version or someone who continued his "project" but this is the newest esign no logs i could find: https://www.reddit.com/r/sideloaded/comments/1dliije/esign_v502_no_logs/

Hi, it seems that the only difference between this version and the original one is that the sending of telemetry data has been removed. I will upload the IPA file of this version for LiveContainer and the original IPA file. I have tested it on my device and it works fine.

ESign-V5.0.2-No-Logs.ipa.zip

ESign-V5.0.2-No-Logs_patched.ipa.zip

<!-- gh-comment-id:2624966696 --> @UzawaReisaQwQ commented on GitHub (Jan 30, 2025): > [@UzawaReisaQwQ](https://github.com/UzawaReisaQwQ) I don't know if this one is the original author of the no lgos version or someone who continued his "project" but this is the newest esign no logs i could find: https://www.reddit.com/r/sideloaded/comments/1dliije/esign_v502_no_logs/ Hi, it seems that the only difference between this version and the original one is that the sending of telemetry data has been removed. I will upload the IPA file of this version for LiveContainer and the original IPA file. I have tested it on my device and it works fine. [ESign-V5.0.2-No-Logs.ipa.zip](https://github.com/user-attachments/files/18605721/ESign-V5.0.2-No-Logs.ipa.zip) [ESign-V5.0.2-No-Logs_patched.ipa.zip](https://github.com/user-attachments/files/18605719/ESign-V5.0.2-No-Logs_patched.ipa.zip)
Author
Owner

@hugeBlack commented on GitHub (Feb 4, 2025):

It's fixed in 3.2.57, you can try installing unmodified ESign.

long press app -> settings -> Don't inject TweakLoader

<!-- gh-comment-id:2633154797 --> @hugeBlack commented on GitHub (Feb 4, 2025): It's fixed in 3.2.57, you can try installing unmodified ESign. long press app -> settings -> Don't inject TweakLoader
Author
Owner

@natesworks commented on GitHub (Feb 21, 2025):

how mentally ill do you have to be to install esign in live container

<!-- gh-comment-id:2673819717 --> @natesworks commented on GitHub (Feb 21, 2025): how mentally ill do you have to be to install esign in live container
Author
Owner

@hugeBlack commented on GitHub (Feb 21, 2025):

@natesdev Update to latest build https://nightly.link/hugeBlack/LiveContainer/workflows/build/main/com.kdt.livecontainer.ipa.zip

This version requires SideStore 0.6.0+ / AltStore 2.0+

long press eaign -> settings -> enable "hide livecontainer from dyld api", "Don't inject TweakLoader"

<!-- gh-comment-id:2673823489 --> @hugeBlack commented on GitHub (Feb 21, 2025): @natesdev Update to latest build https://nightly.link/hugeBlack/LiveContainer/workflows/build/main/com.kdt.livecontainer.ipa.zip This version requires SideStore 0.6.0+ / AltStore 2.0+ long press eaign -> settings -> enable "hide livecontainer from dyld api", "Don't inject TweakLoader"
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/LiveContainer#134
No description provided.