diff --git a/Makefile b/Makefile index ea691e3..37db306 100644 --- a/Makefile +++ b/Makefile @@ -3,7 +3,7 @@ DEP = $(SRC)/dep_root STRIP = strip CC ?= cc CFLAGS += -isystem $(DEP)/include -I$(SRC)/include -I$(SRC) -D_XOPEN_SOURCE=500 -CFLAGS += -Wall -Wextra -Wno-unused-parameter -DPALERAIN_VERSION=\"2.0.2\" -DHAVE_LIBIMOBILEDEVICE +CFLAGS += -Wall -Wextra -Wno-unused-parameter -DPALERAIN_VERSION=\"2.1\" -DHAVE_LIBIMOBILEDEVICE CFLAGS += -Wno-unused-variable -I$(SRC)/src -std=c99 -pedantic-errors -D_C99_SOURCE -D_POSIX_C_SOURCE=200112L LIBS += $(DEP)/lib/libimobiledevice-1.0.a $(DEP)/lib/libirecovery-1.0.a $(DEP)/lib/libusbmuxd-2.0.a LIBS += $(DEP)/lib/libimobiledevice-glue-1.0.a $(DEP)/lib/libplist-2.0.a -pthread -lm diff --git a/docs/palera1n.1 b/docs/palera1n.1 index 03cdee1..13a7724 100644 --- a/docs/palera1n.1 +++ b/docs/palera1n.1 @@ -6,7 +6,7 @@ .Dt palera1n 1 .Sh NAME .Nm palera1n -.Nd arm64 iOS/iPadOS/tvOS 15.0-18.1, bridgeOS 5.0-9.1 jailbreaking tool +.Nd arm64 iOS/iPadOS/tvOS 15.0-18.2, bridgeOS 5.0-9.2 jailbreaking tool .Sh SYNOPSIS .Nm .Op Fl cCdDEfhIlLnpRsSTvV @@ -20,14 +20,14 @@ .Op Fl -force-revert .Sh DESCRIPTION .Nm -jailbreaks an arm64 (arm64e excluded) iOS/iPadOS/tvOS 15.0-18.0, bridgeOS 5.0-9.0 device, +jailbreaks an arm64 (arm64e excluded) iOS/iPadOS/tvOS 15.0-18.2, bridgeOS 5.0-9.2 device, utilizing the .Em checkm8 bootROM exploit. .Pp .Nm provides rootful and rootless jailbreak modes. -On iOS/iPadOS, +On iOS/iPadOS 15.0 and later and on tvOS 18.2 or later, .Nm is able to jailbreak the device in fakefs-rootful mode, where / is writable, as well as rootless mode, where / cannot be written to. @@ -139,12 +139,14 @@ Like but the size of the created fakefs is smaller at the expense of having unwritable parts in rarely-written paths. When jailbreaking 16 GB devices, this option must be used when setting up fakefs for rootful, as they do not have enough storage for full fakefs. -This flag is only supported on iOS/iPadOS. +This flag is supported on iOS/iPadOS 15.0 or later and tvOS 18.2 or later, as they +require fakefs for rootful. .It Fl c , -setup-fakefs When used with .Fl f , -fakefs , creates the new APFS volume required for rootful. Will fail if one already exists. -This flag is only supported on iOS/iPadOS. +This flag is supported on iOS/iPadOS 15.0 or later and tvOS 18.2 or later, as they +require fakefs for rootful. .It Fl C , -clean-fakefs This option is not currently supported and is a no-operation in this version of .Nm diff --git a/include/palerain.h b/include/palerain.h index 3c3e2a8..86695ed 100644 --- a/include/palerain.h +++ b/include/palerain.h @@ -72,7 +72,7 @@ usb_ret_t USBBulkUpload(usb_device_handle_t handle, void *data, uint32_t len); #endif #ifndef PALERAIN_VERSION -#define PALERAIN_VERSION "2.0.2" +#define PALERAIN_VERSION "2.1" #endif #if defined(__APPLE__) diff --git a/src/optparse.c b/src/optparse.c index 0cbee92..365bcd3 100644 --- a/src/optparse.c +++ b/src/optparse.c @@ -19,7 +19,6 @@ #endif uint64_t* palerain_flags_p = &palerain_flags; -static bool force_use_verbose_boot = false; char* gOverrideLibcheckra1nHelper = NULL; static struct option longopts[] = { @@ -148,11 +147,9 @@ int optparse(int argc, char* argv[]) { case 'B': palerain_flags |= palerain_option_setup_partial_root; palerain_flags |= palerain_option_setup_rootful; - palerain_flags |= palerain_option_verbose_boot; break; case 'c': palerain_flags |= palerain_option_setup_rootful; - palerain_flags |= palerain_option_verbose_boot; break; case 'C': palerain_flags |= palerain_option_clean_fakefs; @@ -175,7 +172,6 @@ int optparse(int argc, char* argv[]) { break; case 'V': palerain_flags |= palerain_option_verbose_boot; - force_use_verbose_boot = true; #ifdef TUI tui_options_verbose_boot = true; #endif @@ -364,10 +360,6 @@ int optparse(int argc, char* argv[]) { LOG(LOG_WARNING, "telnetd is enabled, this is a security hole"); } - if ((strstr(xargs_cmd, "serial=") != NULL) && !force_use_verbose_boot && (palerain_flags & palerain_option_setup_rootful)) { - palerain_flags &= ~palerain_option_verbose_boot; - } - if ((palerain_flags & (palerain_option_tui)) && (palerain_flags & (palerain_option_cli))) { LOG(LOG_FATAL, "cannot specify both --tui and --cli"); return -1;