Skip to content

Instantly share code, notes, and snippets.

@jakeajames
Last active April 2, 2025 17:30
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.

Revisions

  1. jakeajames revised this gist Nov 16, 2019. 1 changed file with 3 additions and 0 deletions.
    3 changes: 3 additions & 0 deletions patch.sh
    Original file line number Diff line number Diff line change
    @@ -37,6 +37,9 @@ echo "Patching"
    # 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)
  2. jakeajames revised this gist Nov 16, 2019. 1 changed file with 2 additions and 2 deletions.
    4 changes: 2 additions & 2 deletions patch.sh
    Original file line number Diff line number Diff line change
    @@ -35,7 +35,7 @@ echo "Patching"
    (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\xA0\xE1' | dd of=/tmp/unpacked_h3lix/Payload/h3lix.app/h3lix bs=1 seek=31790 count=4 conv=notrunc) 2> /dev/null
    (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

    echo "Compressing"

    @@ -58,4 +58,4 @@ fi
    cd - > /dev/null
    rm -rf /tmp/unpacked_h3lix
    echo "Done"
    exit 0
    exit 0
  3. jakeajames created this gist Nov 15, 2019.
    61 changes: 61 additions & 0 deletions patch.sh
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,61 @@
    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\xA0\xE1' | dd of=/tmp/unpacked_h3lix/Payload/h3lix.app/h3lix bs=1 seek=31790 count=4 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