Skip to content

Instantly share code, notes, and snippets.

@jakeajames
Last active June 29, 2024 16:22
Show Gist options
  • Save jakeajames/b44d8db345769a7149e97f5e155b3d46 to your computer and use it in GitHub Desktop.
Save jakeajames/b44d8db345769a7149e97f5e155b3d46 to your computer and use it in GitHub Desktop.
Make h3lix work when installed not-via-Impactor. To be used with the latest h3lix.
if [ $# != 2 ]; then
echo "Usage: $0 /path/to/input_ipa /path/to/output_ipa"
exit 1
fi
if ! [ -f $1 ]; then
echo "'$1' does not exist"
exit 1
fi
if [ -f $2 ]; then
echo "'$2' already exists"
exit 1
fi
echo "Setting up environment"
mkdir /tmp/unpacked_h3lix
if [ $? != 0 ]; then
echo "mkdir create temporary directory"
exit 1
fi
echo "Extracting"
unzip $1 -d /tmp/unpacked_h3lix > /dev/null
if [ $? != 0 ]; then
echo "can't unzip '$1'"
rm -rf /tmp/unpacked_h3lix
exit 1
fi
echo "Patching"
# tada tada P\WX+1y~~z??ti.....
(printf '\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11' | dd of=/tmp/unpacked_h3lix/Payload/h3lix.app/h3lix bs=1 seek=30848 count=20 conv=notrunc) 2> /dev/null
(printf '\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11\x11' | dd of=/tmp/unpacked_h3lix/Payload/h3lix.app/h3lix bs=1 seek=32920 count=20 conv=notrunc) 2> /dev/null
# i DoN'T hAz CS_GET_TASK_ALLOW?!?!??
(printf '\x00\x00\x00\x00' | dd of=/tmp/unpacked_h3lix/Payload/h3lix.app/h3lix bs=1 seek=31790 count=4 conv=notrunc) 2> /dev/null
# DeBuG Br34K
(printf '\x70\x47' | dd of=/tmp/unpacked_h3lix/Payload/h3lix.app/h3lix bs=1 seek=40800 count=2 conv=notrunc) 2> /dev/null
echo "Compressing"
CD=$(pwd)
cd /tmp/unpacked_h3lix
if [[ "$2" = /* ]]; then
zip -r $2 Payload/ > /dev/null
else
zip -r "$CD/$2" Payload/ > /dev/null
fi
if [ $? != 0 ]; then
echo "can't zip '$1'"
rm -rf /tmp/unpacked_h3lix
cd - > /dev/null
exit 1
fi
cd - > /dev/null
rm -rf /tmp/unpacked_h3lix
echo "Done"
exit 0
@moebiussurfing
Copy link

That guide finally did the job!
iOS 10.3.4. Windows 10 using 3uTool.

@getr00t
Copy link

getr00t commented Dec 7, 2022

我已经设计方法让它适用于 Windows 用户。
这是我执行的程序:

  1. 从https://h3lix.tihmstar.net/ipa/h3lix-RC6.ipa下载 h3lix RC6
  2. 从 https://cygwin.com/setup-x86_64.exe下载 Cygwin
  3. 在“选择包”对对话盒中的Cygwin安装过程中,添加运行patch.sh文件所需的“unzip”和“zip”包
    **警告:**否则,可能会出现消息提示及patch.sh脚本第24、49、51 行的错误。
  4. 打开Cygwin最终应用程序(命令提示符)
  5. 下载patch.sh并恢复到Cygwin主目录
    **警告:**由于我将Cygwin安装在C:\cygwin64目录,因此我的Cygwin主目录位于C:\cygwin64\home目录。
  6. 此外,将步骤1 中下载的h3lix-RC6.ipa 文件复制到Cygwin 主目录中
  7. 运行patch.sh脚本键输入_./patch.sh h3lix-RC6.ipa h3lix-RC6-patched.ipa_
  8. 从 https://armconverter.com/sideloadly/SideloadlySetup64.exe下载 Sideloadly
  9. 侧载安装
  10. 连接 iPhone / iPad 设备
  11. 运行 Sideloadly
    警告: Sideloadly 可能会在传输和安装过程中提示输入 Apple ID 填写,输入它就可以了。
  12. 在 Sideloadly 中添加位置于 Cygwin 主目录的 h3lix-RC6-patched.ipa 并将文件拖放到应用程序
  13. 单击“开始”按钮将 h3lix 应用程序传输并安装到连接的 iPhone / iPad 设备
  14. 一旦安装了h3lix应用程序,打开它并单击越狱按钮。

然后,完成了!👍

wyhiPhone5 10.3.3确定用你的方法安装了h3lix,但是cydia会崩溃,为什么?我在重新安装时收到这个消息,这是怎么回事?

好吧,你没有正确运行脚本。
你正在执行./patch.sh h3lix-RC6-patch.ipa。需要执行的脚本:./patch.sh h3lix-ORIGINAL.ipa h3lix-patched.ipa. 它需要传2个参数。

不明白,为什么我们只下载了一个文件h3lix RC6,为什么还要传两个参数?这行得通吗?, h3lix-RC6-patched.ipa 是什么?我没有下载,文章也没有提到h3lix-RC6-patched.ipa是什么。h3lix RC6官网好像关了,下载链接也打不开。

那是输出文件……您不用下载它,它会创建它……它只是一个名称。

只要运行它告诉你的命令,你就会明白(2个参数)

从其他来源获取螺旋 IPA

So if I need to use doubleH3lix-RC8 to jailbreak a 64-bit mobile phone, does this sh script need to be modified? How do you need to modify Ni? Or can you just use the ready-made sh script directly?So if I need to use doubleH3lix-RC8 to jailbreak a 64-bit mobile phone, does this sh script need to be modified? How do you need to modify Ni? Or can you just use the ready-made sh script directly?

@moebiussurfing
Copy link

That guide finally did the job! iOS 10.3.4. Windows 10 using 3uTool.
the missing link:
https://youtu.be/m4f84_nDm2w

@UInt2048
Copy link

UInt2048 commented Apr 5, 2024

If you're on Windows, use https://github.com/kawaiizenbo/winh3lixpatcher instead

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment