mirror of
https://github.com/palera1n/palera1n.git
synced 2026-10-23 18:49:48 +02:00
Compare commits
2
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
05be1ce030 | ||
|
|
e37c476cec |
No files matched your search
@@ -45,7 +45,7 @@ jobs:
|
|||||||
|
|
||||||
- name: Upload artifact
|
- name: Upload artifact
|
||||||
if: ${{ github.event_name != 'pull_request' }}
|
if: ${{ github.event_name != 'pull_request' }}
|
||||||
uses: wangyucode/sftp-upload-action@v1.4.8
|
uses: wangyucode/sftp-upload-action@v2.0.2
|
||||||
with:
|
with:
|
||||||
host: ${{ secrets.NICKCHAN_FTP_HOST }}
|
host: ${{ secrets.NICKCHAN_FTP_HOST }}
|
||||||
port: ${{ secrets.NICKCHAN_FTP_PORT }}
|
port: ${{ secrets.NICKCHAN_FTP_PORT }}
|
||||||
@@ -335,7 +335,7 @@ jobs:
|
|||||||
|
|
||||||
- name: Upload artifact
|
- name: Upload artifact
|
||||||
if: ${{ github.event_name != 'pull_request' }}
|
if: ${{ github.event_name != 'pull_request' }}
|
||||||
uses: wangyucode/sftp-upload-action@v1.4.8
|
uses: wangyucode/sftp-upload-action@v2.0.2
|
||||||
with:
|
with:
|
||||||
host: ${{ secrets.NICKCHAN_FTP_HOST }}
|
host: ${{ secrets.NICKCHAN_FTP_HOST }}
|
||||||
port: ${{ secrets.NICKCHAN_FTP_PORT }}
|
port: ${{ secrets.NICKCHAN_FTP_PORT }}
|
||||||
@@ -393,7 +393,6 @@ jobs:
|
|||||||
cp palera1n-macos ready/palera1n-macos-universal
|
cp palera1n-macos ready/palera1n-macos-universal
|
||||||
cp ./palera1n-macosx-x86_64/palera1n-macosx-x86_64 ready/palera1n-macos-x86_64
|
cp ./palera1n-macosx-x86_64/palera1n-macosx-x86_64 ready/palera1n-macos-x86_64
|
||||||
cp ./palera1n-macosx-arm64/palera1n-macosx-arm64 ready/palera1n-macos-arm64
|
cp ./palera1n-macosx-arm64/palera1n-macosx-arm64 ready/palera1n-macos-arm64
|
||||||
cp ./palera1n-iphoneos-arm64/palera1n-iphoneos-arm64 ready/palera1n-iphoneos-arm64
|
|
||||||
zip -r9 ready/palera1n-iphoneos-arm64.dSYM.zip palera1n-iphoneos-arm64.dSYM
|
zip -r9 ready/palera1n-iphoneos-arm64.dSYM.zip palera1n-iphoneos-arm64.dSYM
|
||||||
zip -r9 ready/palera1n-macos.dSYM.zip palera1n-macos.dSYM
|
zip -r9 ready/palera1n-macos.dSYM.zip palera1n-macos.dSYM
|
||||||
|
|
||||||
@@ -485,7 +484,7 @@ jobs:
|
|||||||
|
|
||||||
- name: Upload artifact
|
- name: Upload artifact
|
||||||
if: ${{ github.event_name != 'pull_request' }}
|
if: ${{ github.event_name != 'pull_request' }}
|
||||||
uses: wangyucode/sftp-upload-action@v1.4.8
|
uses: wangyucode/sftp-upload-action@v2.0.2
|
||||||
with:
|
with:
|
||||||
host: ${{ secrets.NICKCHAN_FTP_HOST }}
|
host: ${{ secrets.NICKCHAN_FTP_HOST }}
|
||||||
port: ${{ secrets.NICKCHAN_FTP_PORT }}
|
port: ${{ secrets.NICKCHAN_FTP_PORT }}
|
||||||
@@ -798,7 +797,7 @@ jobs:
|
|||||||
|
|
||||||
- name: Upload artifact
|
- name: Upload artifact
|
||||||
if: ${{ github.event_name != 'pull_request' }}
|
if: ${{ github.event_name != 'pull_request' }}
|
||||||
uses: wangyucode/sftp-upload-action@v1.4.8
|
uses: wangyucode/sftp-upload-action@v2.0.2
|
||||||
with:
|
with:
|
||||||
host: ${{ secrets.NICKCHAN_FTP_HOST }}
|
host: ${{ secrets.NICKCHAN_FTP_HOST }}
|
||||||
port: ${{ secrets.NICKCHAN_FTP_PORT }}
|
port: ${{ secrets.NICKCHAN_FTP_PORT }}
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
NAME = Dusk
|
NAME = Dawn
|
||||||
|
|
||||||
SRC = $(shell pwd)
|
SRC = $(shell pwd)
|
||||||
DEP = $(SRC)/dep_root
|
DEP = $(SRC)/dep_root
|
||||||
|
|||||||
+3
-3
@@ -6,7 +6,7 @@
|
|||||||
.Dt palera1n 1
|
.Dt palera1n 1
|
||||||
.Sh NAME
|
.Sh NAME
|
||||||
.Nm palera1n
|
.Nm palera1n
|
||||||
.Nd iOS 15.0-16.5.1 arm64 iOS/iPadOS jailbreaking tool
|
.Nd iOS 15.0-16.5 arm64 iOS/iPadOS jailbreaking tool
|
||||||
.Sh SYNOPSIS
|
.Sh SYNOPSIS
|
||||||
.Nm
|
.Nm
|
||||||
.Op Fl dDEhILnpRsSvV
|
.Op Fl dDEhILnpRsSvV
|
||||||
@@ -20,7 +20,7 @@
|
|||||||
.Op Fl -force-revert
|
.Op Fl -force-revert
|
||||||
.Sh DESCRIPTION
|
.Sh DESCRIPTION
|
||||||
.Nm
|
.Nm
|
||||||
jailbreaks any iOS/iPadOS device with an arm64 (arm64e excluded) on iOS 15.0-16.5.1,
|
jailbreaks any iOS/iPadOS device with an arm64 (arm64e excluded) on iOS 15.0-16.5,
|
||||||
utilizing the
|
utilizing the
|
||||||
.Em checkm8
|
.Em checkm8
|
||||||
bootROM exploit.
|
bootROM exploit.
|
||||||
@@ -48,7 +48,7 @@ In the remainder of this document, the term "iOS" and "iPadOS" will be used inte
|
|||||||
as the difference is negligible as far as the jailbreak is concerened.
|
as the difference is negligible as far as the jailbreak is concerened.
|
||||||
.Pp
|
.Pp
|
||||||
.Sh SUPPORTED DEVICES
|
.Sh SUPPORTED DEVICES
|
||||||
As described above, arm64 iOS 15.0-16.5.1 devices are supported, here is an explicit
|
As described above, arm64 iOS 15.0-16.5 devices are supported, here is an explicit
|
||||||
list of supported devicecs:
|
list of supported devicecs:
|
||||||
|
|
||||||
.Bl -tag -compact
|
.Bl -tag -compact
|
||||||
|
|||||||
@@ -174,6 +174,8 @@ extern int pongo_thr_running, dfuhelper_thr_running;
|
|||||||
extern bool device_has_booted;
|
extern bool device_has_booted;
|
||||||
extern char xargs_cmd[0x270];
|
extern char xargs_cmd[0x270];
|
||||||
extern char palerain_flags_cmd[0x30];
|
extern char palerain_flags_cmd[0x30];
|
||||||
|
extern char dtpatch_cmd[0x20];
|
||||||
|
extern char rootfs_cmd[512];
|
||||||
extern char* ext_checkra1n;
|
extern char* ext_checkra1n;
|
||||||
|
|
||||||
void thr_cleanup(void* ptr);
|
void thr_cleanup(void* ptr);
|
||||||
|
|||||||
+2
-2
@@ -8,8 +8,8 @@ Depends: usbmuxd
|
|||||||
Section: Utilities
|
Section: Utilities
|
||||||
Priority: optional
|
Priority: optional
|
||||||
Homepage: https://palera.in
|
Homepage: https://palera.in
|
||||||
Description: iOS 15.0-16.5.1 semi-tethered checkm8 jailbreak
|
Description: iOS 15.0-16.5 semi-tethered checkm8 jailbreak
|
||||||
palera1n is an iOS/iPadOS 15.0-16.5.1 semi tethered jailbreak
|
palera1n is an iOS/iPadOS 15.0-16.5 semi tethered jailbreak
|
||||||
based on the checkm8 exploit.
|
based on the checkm8 exploit.
|
||||||
.
|
.
|
||||||
palera1n is able to jailbreak the device in fakefs-rootful mode,
|
palera1n is able to jailbreak the device in fakefs-rootful mode,
|
||||||
|
|||||||
+2
-16
@@ -56,7 +56,6 @@ 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");
|
||||||
@@ -68,19 +67,6 @@ 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);
|
||||||
@@ -93,8 +79,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) && (version == 16))
|
if (!(palerain_flags & palerain_option_device_info))
|
||||||
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;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -34,6 +34,7 @@
|
|||||||
|
|
||||||
unsigned int verbose = 0;
|
unsigned int verbose = 0;
|
||||||
char xargs_cmd[0x270] = "xargs ", palerain_flags_cmd[0x30] = "deadbeef";
|
char xargs_cmd[0x270] = "xargs ", palerain_flags_cmd[0x30] = "deadbeef";
|
||||||
|
char dtpatch_cmd[0x20] = "deadbeef", rootfs_cmd[512] = "deadbeef";
|
||||||
extern char** environ;
|
extern char** environ;
|
||||||
|
|
||||||
niarelap_file_t* kpf_to_upload_1 = &checkra1n_kpf_pongo;
|
niarelap_file_t* kpf_to_upload_1 = &checkra1n_kpf_pongo;
|
||||||
|
|||||||
+3
-1
@@ -71,7 +71,7 @@ static int usage(int e, char* prog_name)
|
|||||||
#endif
|
#endif
|
||||||
"] [-e boot arguments] [-k Pongo image] [-o overlay file] [-r ramdisk file] [-K KPF file] [-i checkra1n file]\n"
|
"] [-e boot arguments] [-k Pongo image] [-o overlay file] [-r ramdisk file] [-K KPF file] [-i checkra1n file]\n"
|
||||||
"Copyright (C) 2023, palera1n team, All Rights Reserved.\n\n"
|
"Copyright (C) 2023, palera1n team, All Rights Reserved.\n\n"
|
||||||
"iOS/iPadOS 15.0-16.5.1 arm64 jailbreaking tool\n\n"
|
"iOS/iPadOS 15.0-16.5 arm64 jailbreaking tool\n\n"
|
||||||
"\t--version\t\t\t\tPrint version\n"
|
"\t--version\t\t\t\tPrint version\n"
|
||||||
"\t--force-revert\t\t\t\tRemove jailbreak\n"
|
"\t--force-revert\t\t\t\tRemove jailbreak\n"
|
||||||
#ifdef DEV_BUILD
|
#ifdef DEV_BUILD
|
||||||
@@ -175,6 +175,8 @@ int optparse(int argc, char* argv[]) {
|
|||||||
snprintf(xargs_cmd, sizeof(xargs_cmd), "xargs %s", optarg);
|
snprintf(xargs_cmd, sizeof(xargs_cmd), "xargs %s", optarg);
|
||||||
break;
|
break;
|
||||||
case 'f':
|
case 'f':
|
||||||
|
snprintf(rootfs_cmd, sizeof(rootfs_cmd), "rootfs %s", optarg);
|
||||||
|
snprintf(dtpatch_cmd, 0x20, "dtpatch %s", optarg);
|
||||||
palerain_flags |= palerain_option_rootful;
|
palerain_flags |= palerain_option_rootful;
|
||||||
palerain_flags &= ~palerain_option_rootless;
|
palerain_flags &= ~palerain_option_rootless;
|
||||||
break;
|
break;
|
||||||
|
|||||||
Reference in new issue
Block a user