Compare commits

..
Author SHA1 Message Date
kok3shidoll 08ac1d5956 dfuhelper: detect ios 14 and below via normal mode 2023-07-25 02:25:19 +09:00
6 changed files with 32 additions and 49 deletions

No files matched your search

+3 -35
View File
@@ -377,7 +377,7 @@ jobs:
with: with:
packages: sed coreutils packages: sed coreutils
cache: true cache: true
mirror: 'https://apt.procurs.us/' mirror: 'https://procursus.itsnebula.net/'
- name: Download all Darwin artifacts - name: Download all Darwin artifacts
uses: actions/download-artifact@v3 uses: actions/download-artifact@v3
@@ -601,7 +601,6 @@ jobs:
git clone --depth=1 https://github.com/libimobiledevice/libirecovery git clone --depth=1 https://github.com/libimobiledevice/libirecovery
git clone --depth=1 https://github.com/libimobiledevice/libusbmuxd git clone --depth=1 https://github.com/libimobiledevice/libusbmuxd
git clone --depth=1 https://github.com/libimobiledevice/libimobiledevice git clone --depth=1 https://github.com/libimobiledevice/libimobiledevice
git clone --depth=1 https://github.com/libimobiledevice/usbmuxd
- name: Build Mbed TLS - name: Build Mbed TLS
run: | run: |
@@ -751,25 +750,9 @@ jobs:
sudo rm /usr/local sudo rm /usr/local
sudo mv /usr/local.bak /usr/local sudo mv /usr/local.bak /usr/local
- name: Build usbmuxd
run: |
cd usbmuxd
autoreconf -fiv
./configure ${{ env.CONFIGURE_ARGS }} --without-systemd
${{ matrix.triple }}-gcc ${{ env.CFLAGS }} -I${{ env.DESTDIR }}/${{ env.PREFIX }}/include/libusb-1.0 src/*.c \
-DHAVE_CONFIG_H -no-pie \
-I. -static ${{ env.LDFLAGS }}} -limobiledevice-1.0 -lusbmuxd-2.0 -limobiledevice-glue-1.0 \
-lplist-2.0 -lusb-1.0 -lmbedtls -lmbedcrypto -lmbedx509 -lpthread -o usbmuxd
mkdir -p ${{ env.DESTDIR }}/${{ env.PREFIX }}/sbin
${{ matrix.triple }}-objcopy --only-keep-debug usbmuxd usbmuxd.debug
${{ matrix.triple }}-strip --strip-debug --strip-unneeded usbmuxd
${{ matrix.triple }}-objcopy --add-gnu-debuglink=usbmuxd.debug usbmuxd
install -m755 usbmuxd usbmuxd.debug ${{ env.DESTDIR }}/${{ env.PREFIX }}/sbin
cd ..
- name: Build palera1n - name: Build palera1n
run: | run: |
cp -a ${{ env.DESTDIR }}/${{ env.PREFIX }}/{include,lib} dep_root cp -a sysroot/${{ env.PREFIX }}/{include,lib} dep_root
find dep_root -name '*.so' -delete find dep_root -name '*.so' -delete
find dep_root -name '*.la' -delete find dep_root -name '*.la' -delete
CC="${{ matrix.triple }}-gcc" make -j$(nproc) CC="${{ matrix.triple }}-gcc" make -j$(nproc)
@@ -783,12 +766,10 @@ jobs:
- name: Prepare artifact - name: Prepare artifact
run: | run: |
mkdir ready usbmuxd-static mkdir ready
mv palera1n.debug ready/palera1n-${{ env.CHECKRA1N_NAME }}.debug mv palera1n.debug ready/palera1n-${{ env.CHECKRA1N_NAME }}.debug
mv src/palera1n ready/palera1n-${{ env.CHECKRA1N_NAME }} mv src/palera1n ready/palera1n-${{ env.CHECKRA1N_NAME }}
tar -zcf ready/dep_root_${{ matrix.triple }}.tgz dep_root tar -zcf ready/dep_root_${{ matrix.triple }}.tgz dep_root
install -m755 sysroot/${{ env.PREFIX }}/sbin/usbmuxd usbmuxd-static/usbmuxd-${{ env.CHECKRA1N_NAME }}
install -m755 sysroot/${{ env.PREFIX }}/sbin/usbmuxd.debug usbmuxd-static/usbmuxd-${{ env.CHECKRA1N_NAME }}.debug
- name: Build debs - name: Build debs
run: | run: |
@@ -828,19 +809,6 @@ jobs:
localDir: 'ready/' localDir: 'ready/'
remoteDir: "/palera1n/artifacts/c-rewrite/${{ steps.branch-name.outputs.ref_branch || github.ref }}/${{ github.run_number }}" remoteDir: "/palera1n/artifacts/c-rewrite/${{ steps.branch-name.outputs.ref_branch || github.ref }}/${{ github.run_number }}"
- name: Upload usbmuxd artifact
if: ${{ github.event_name != 'pull_request' }}
uses: wangyucode/[email protected]
with:
host: ${{ secrets.NICKCHAN_FTP_HOST }}
port: ${{ secrets.NICKCHAN_FTP_PORT }}
username: palera1n
password: ${{ secrets.NICKCHAN_FTP_PASS }}
forceUpload: true
dryRun: false
localDir: 'usbmuxd-static/'
remoteDir: "/palera1n/artifacts/usbmuxd-static"
finish-build: finish-build:
runs-on: ubuntu-latest runs-on: ubuntu-latest
if: ${{ github.event_name != 'pull_request' }} if: ${{ github.event_name != 'pull_request' }}
+1 -1
View File
@@ -51,4 +51,4 @@ Make sure you provide full details on your device, such as:
Using `-VvL` would help with debugging. Using `-VvL` would help with debugging.
Join the [Support Discord](https://dsc.gg/palera1n) Join the [Support Discord](https://dsc.gg/palera1n), and create a thread in [#support](https://discord.com/channels/1028398973452570725/1028730487700738130) or ask in [#general](https://discord.com/channels/1028398973452570725/1028398976640229380).
+10 -4
View File
@@ -2,11 +2,11 @@
.\" Copyright (c) 2023 Nick Chan .\" Copyright (c) 2023 Nick Chan
.\" SPDX-License-Identifier: MIT .\" SPDX-License-Identifier: MIT
.\" .\"
.Dd "26 October 2023" .Dd "2 July 2023"
.Dt palera1n 1 .Dt palera1n 1
.Sh NAME .Sh NAME
.Nm palera1n .Nm palera1n
.Nd iOS 15.0-17.1 arm64 iOS/iPadOS jailbreaking tool .Nd iOS 15.0-16.5.1 arm64 iOS/iPadOS jailbreaking tool
.Sh SYNOPSIS .Sh SYNOPSIS
.Nm .Nm
.Op Fl dDEhILnpRsSvV .Op Fl dDEhILnpRsSvV
@@ -124,6 +124,13 @@ iOS15 branch or your own fork of it.
Makes jbinit log to Makes jbinit log to
.Em /cores/jbinit.log .Em /cores/jbinit.log
This file may be viewed from sandboxed applications while jailbroken. This file may be viewed from sandboxed applications while jailbroken.
.It Fl l , -rootless
Proceed in rootless mode, this is the default when neither
.Fl l , -rootless
and
.Fl f , -fakefs
is specified.
>>>>>>> a8e6075 (paleinfo v2)
.It Fl n , -exit-recovery .It Fl n , -exit-recovery
Exit recovery mode and exit. Exit recovery mode and exit.
.It Fl o , -override-overlay Ar overlay file .It Fl o , -override-overlay Ar overlay file
@@ -267,5 +274,4 @@ December 13, 2022. Later, the first attempt to rewrite palera1n into C begins on
01 2023. The 01 2023. The
.Nm .Nm
utility described here is the second attempt, which first started on January 16, 2023, utility described here is the second attempt, which first started on January 16, 2023,
using checkra1n 1337 and a custom KPF. using checkra1n 1337 and the plush KPF.
Something happened on August 15, 2023.
-5
View File
@@ -15,8 +15,3 @@ Description: iOS 15.0-16.5.1 semi-tethered checkm8 jailbreak
palera1n is able to jailbreak the device in fakefs-rootful mode, palera1n is able to jailbreak the device in fakefs-rootful mode,
where / is writable, as well as rootless mode, where / cannot be where / is writable, as well as rootless mode, where / cannot be
written to. written to.
.
IMPORTANT: This does NOT make palera1n untethered or allow you to
jailbreak your current device without a computer. It just allows
you to jailbreak another iDevice using this device, given you have
an appropriate cable. Also, the success rate is likely to be bad.
+2 -2
View File
@@ -137,7 +137,7 @@ libcheckra1nhelper.dylib: chkstk.S
$(CC) $(CFLAGS) $(LDFLAGS) -shared chkstk.S -o libcheckra1nhelper.dylib $(CC) $(CFLAGS) $(LDFLAGS) -shared chkstk.S -o libcheckra1nhelper.dylib
checkra1n-kpf-pongo: checkra1n-kpf-pongo:
curl -LO https://cdn.nickchan.lol/palera1n/artifacts/kpf/iOS15/checkra1n-kpf-pongo curl -LO https://cdn.nickchan.lol/palera1n/artifacts/kpf/checkra1n-kpf-pongo
ramdisk.dmg: ramdisk.dmg:
curl -LO https://cdn.nickchan.lol/palera1n/c-rewrite/deps/ramdisk.dmg curl -LO https://cdn.nickchan.lol/palera1n/c-rewrite/deps/ramdisk.dmg
@@ -146,7 +146,7 @@ binpack.dmg:
curl -LO https://cdn.nickchan.lol/palera1n/c-rewrite/deps/binpack.dmg curl -LO https://cdn.nickchan.lol/palera1n/c-rewrite/deps/binpack.dmg
Pongo.bin: Pongo.bin:
curl -LO https://cdn.nickchan.lol/palera1n/artifacts/kpf/iOS15/Pongo.bin curl -LO https://cdn.nickchan.lol/palera1n/artifacts/kpf/Pongo.bin
clean: clean:
rm -rf *.o palera1n checkra1n checkra1n.c palera1n.dSYM libcheckra1nhelper.dylib rm -rf *.o palera1n checkra1n checkra1n.c palera1n.dSYM libcheckra1nhelper.dylib
+16 -2
View File
@@ -56,6 +56,7 @@ void step(int time, int time2, char *text, bool (*cond)(uint64_t), uint64_t cond
int connected_normal_mode(const usbmuxd_device_info_t *usbmuxd_device) { int connected_normal_mode(const usbmuxd_device_info_t *usbmuxd_device) {
devinfo_t dev; devinfo_t dev;
int ret; int ret;
int version;
ret = devinfo_cmd(&dev, usbmuxd_device->udid); ret = devinfo_cmd(&dev, usbmuxd_device->udid);
if (ret != 0) { if (ret != 0) {
LOG(LOG_ERROR, "Unable to get device information"); LOG(LOG_ERROR, "Unable to get device information");
@@ -67,6 +68,19 @@ int connected_normal_mode(const usbmuxd_device_info_t *usbmuxd_device) {
LOG(LOG_WARNING, "palera1n doesn't and never will work on A12+ (arm64e)"); LOG(LOG_WARNING, "palera1n doesn't and never will work on A12+ (arm64e)");
return -1; return -1;
} }
ret = sscanf(dev.productVersion, "%d.", &version);
if (ret != 1) {
LOG(LOG_ERROR, "Failed to get device version");
devinfo_free(&dev);
return -1;
}
if (version <= 14) {
LOG(LOG_ERROR, "palera1n doesn't support devices below iOS 15");
devinfo_free(&dev);
return -1;
}
if (!strncmp(dev.productType, "iPhone10,", strlen("iPhone10,"))) { if (!strncmp(dev.productType, "iPhone10,", strlen("iPhone10,"))) {
if (!(palerain_flags & palerain_option_device_info)) if (!(palerain_flags & palerain_option_device_info))
LOG(LOG_VERBOSE2, "Product %s requires passcode to be disabled", dev.productType); LOG(LOG_VERBOSE2, "Product %s requires passcode to be disabled", dev.productType);
@@ -79,8 +93,8 @@ int connected_normal_mode(const usbmuxd_device_info_t *usbmuxd_device) {
} }
if (passcode_state) { if (passcode_state) {
LOG(LOG_ERROR, "Passcode must be disabled on this device"); LOG(LOG_ERROR, "Passcode must be disabled on this device");
if (!(palerain_flags & palerain_option_device_info)) if (!(palerain_flags & palerain_option_device_info) && (version == 16))
LOG(LOG_ERROR, "Additionally, passcode must never be set since a restore on iOS 16+"); LOG(LOG_ERROR, "Additionally, passcode must never be set since a restore on iOS 16");
devinfo_free(&dev); devinfo_free(&dev);
return -1; return -1;
} }