mirror of
https://github.com/palera1n/palera1n.git
synced 2026-10-21 17:57:01 +02:00
Compare commits
13
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
5d48b7b38f | ||
|
|
b67c7beb3c | ||
|
|
86e41f1895 | ||
|
|
3fd35cdb94 | ||
|
|
f00cac7672 | ||
|
|
5420853a88 | ||
|
|
fe3b52f020 | ||
|
|
d07875981a | ||
|
|
9a93f9e340 | ||
|
|
1e4906bb5a | ||
|
|
50d3c47369 | ||
|
|
feda997a99 | ||
|
|
992f54c4e1 |
No files matched your search
@@ -29,7 +29,7 @@ jobs:
|
||||
run: |
|
||||
make -j$(nproc) docs
|
||||
mkdir ready
|
||||
cp docs/*.html docs/mandoc.css ready
|
||||
cp docs/*.html docs/mandoc.css docs/palera1n.1 ready
|
||||
|
||||
- name: Upload artifact
|
||||
if: ${{ github.event_name != 'pull_request' }}
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
NAME = The Beginning of the End
|
||||
|
||||
SRC = $(shell pwd)
|
||||
DEP = $(SRC)/dep_root
|
||||
STRIP = strip
|
||||
@@ -39,11 +41,16 @@ else
|
||||
CFLAGS += -Os -g
|
||||
BUILD_STYLE = RELEASE
|
||||
endif
|
||||
|
||||
ifneq ($(BAKERAIN_DEVELOPE_R),)
|
||||
CFLAGS += -DBAKERAIN_DEVELOPE_R="\"$(BAKERAIN_DEVELOPE_R)\""
|
||||
endif
|
||||
|
||||
BUILD_DATE := $(shell LANG=C date)
|
||||
BUILD_TAG := $(shell git describe --dirty --tags --abbrev=7)
|
||||
BUILD_WHOAMI := $(shell whoami)
|
||||
|
||||
CFLAGS += -DBUILD_STYLE=\"$(BUILD_STYLE)\" -DBUILD_DATE="\"$(BUILD_DATE)\"" -DBUILD_WHOAMI=\"$(BUILD_WHOAMI)\" -DBUILD_TAG=\"$(BUILD_TAG)\"
|
||||
CFLAGS += -DBUILD_STYLE="\"$(BUILD_STYLE)\"" -DBUILD_DATE="\"$(BUILD_DATE)\"" -DBUILD_WHOAMI=\"$(BUILD_WHOAMI)\" -DBUILD_TAG=\"$(BUILD_TAG)\"
|
||||
|
||||
export SRC DEP CC CFLAGS LDFLAGS LIBS TARGET_OS DEV_BUILD BUILD_DATE BUILD_TAG BUILD_WHOAMI BUILD_STYLE
|
||||
|
||||
|
||||
@@ -1,97 +1,80 @@
|
||||
<h1 align="center">
|
||||
palera1n
|
||||
</h1>
|
||||
<img align="left" height="120" src="https://cdn.discordapp.com/attachments/1017854329887129611/1073858292159352862/thing.png" alt="palera1n logo" style="float: left;"/>
|
||||
<h3 align="right">An iOS 15.0-16.3 work-in-progress, <br>semi-tethered checkm8 jailbreak</h3>
|
||||
|
||||
<p align="center">
|
||||
<a href="#">
|
||||
<img src="https://img.shields.io/badge/made%20with-love-E760A4.svg" alt="Made with love"></img>
|
||||
</a>
|
||||
<a href="https://github.com/palera1n/palera1n-c/blob/main/LICENSE" target="_blank">
|
||||
<img src="https://img.shields.io/github/license/palera1n/palera1n-c.svg" alt="License"></img>
|
||||
</a>
|
||||
<a href="https://github.com/palera1n/palera1n-c/graphs/contributors" target="_blank">
|
||||
<img src="https://img.shields.io/github/contributors/palera1n/palera1n-c.svg" alt="Contributors"></img>
|
||||
</a>
|
||||
<a href="https://github.com/palera1n/palera1n-c/commits/main" target="_blank">
|
||||
<img src="https://img.shields.io/github/commit-activity/w/palera1n/palera1n-c.svg" alt="Commits"></img>
|
||||
</a>
|
||||
<img src="https://img.shields.io/github/search/palera1n/palera1n-c/goto.svg" alt="goto counter"></img>
|
||||
<a href="https://dsc.gg/palera1n" target="_blank">
|
||||
<img src="https://img.shields.io/discord/1028398973452570725?label=discord" alt="Discord"></img>
|
||||
</a>
|
||||
<p align="right" >
|
||||
<strong><a href="https://cdn.nickchan.lol/palera1n/c-rewrite/releases/v2.0.0-beta.1/palera1n.1.html">Usage</a></strong>
|
||||
•
|
||||
<strong><a href="https://github.com/palera1n/palera1n-c/graphs/contributors">Contributors</a></strong>
|
||||
•
|
||||
<strong><a href="https://dsc.gg/palera1n">Discord</a></strong>
|
||||
•
|
||||
<strong><a href="https://twitter.com/palera1n">Twitter</a></strong>
|
||||
</p>
|
||||
<div class="clear"></div>
|
||||
|
||||
<p align="center">
|
||||
iOS 15.0-16.3 work in progress, semi-tethered checkm8 jailbreak
|
||||
</p>
|
||||
### You can obtain v2.0.0 beta [here](https://github.com/palera1n/palera1n-c/releases).
|
||||
|
||||
# BEFORE YOU USE
|
||||
# Warnings
|
||||
- This palera1n rewrite has noticeably different arguments compared to older palera1n, would recommend you take a look at how to use palera1n-c [here](https://cdn.nickchan.lol/palera1n/c-rewrite/releases/v2.0.0-beta.1/palera1n.1.html).
|
||||
|
||||
This is mainly for ROOTLESS, and is NOT READY. It was made public so you can contribute and explore the code. This is not the final product.
|
||||
- This does **NOT** support tethered creation or booting. You must use older [palera1n](https://github.com/palera1n/palera1n).
|
||||
|
||||
This version of palera1n supports booting fakefs setups with the `-f` option. No arguments required.
|
||||
- We are **NOT** responsible for any data loss, or the result of a device being bricked. The user of this program accepts responsibility should something happen to their device. While nothing should happen, jailbreaking has risks in itself. If your device is stuck in recovery, please run futurerestore `--exit-recovery`, or use `irecovery -n`.
|
||||
|
||||
This version of palera1n is able to create fakefs with the `-c` option, however as of right now if the `/jbin/loader.app`
|
||||
doesn't exist (which is true for any fakefs created with this version of palera1n), the loader that appears would be rootless.
|
||||
- palera1n-c will never work in VirtualBox, VMware or any virtual machine that doesn't support a PCI passthrough.
|
||||
|
||||
Loader app does appear on rootless, and you can use the SSH server listening at 127.0.0.1:44 (IPv4) or ::1:44 (IPv6).
|
||||
# Requirements
|
||||
- Needs a checkm8 vulnerable iOS device on iOS 15.x or 16.x (`A8` - `A11`)
|
||||
- If using Rootful, **you will need 5-10GB of space** for the fakefs. This means that 16GB devices cannot be semi-tethered with Rootful.
|
||||
- On `A11`, **you must disable your passcode while in the jailbroken state** (on iOS 16, you need to reset your device before proceeding with palera1n `A11`).
|
||||
|
||||
If the device is previously jailbroken, the jailbreak environment is automatically prepared.
|
||||
You can use the `-s` option to skip this behaviour.
|
||||
- **USB-A** cables are recommended to use, USB-C may have issues with palera1n and getting into DFU mode.
|
||||
|
||||
Usbmuxd is only required for starting in normal mode, it is not required when started from recovery or DFU mode. (Usbmuxd is preinstalled with macOS)
|
||||
- A Linux or macOS computer
|
||||
- AMD CPUs (not AMD Mobile) have an issue [with (likely) their USB controllers] that causes them to have a very low success rate with checkm8. It is not recommended that you use them with palera1n.
|
||||
- If your device does not successfully jailbreak, try a computer with an Intel or other CPU
|
||||
|
||||
You can obtain the latest build of palera1n-c [here](https://cdn.nickchan.lol/palera1n/artifacts/c-rewrite/).
|
||||
# Reporting Issues
|
||||
|
||||
# This is a work in progress.
|
||||
Make sure you provide full details on your device, such as:
|
||||
- iDevice
|
||||
- iOS Version
|
||||
- Passcode enabled?
|
||||
- Logs, if panicked send latest panic-full from your iDevice.
|
||||
|
||||
Read this throughly, feel free to ask questions, know the risks. If you want to ask questions, either:
|
||||
Using `-V` and `-v` would help with debugging.
|
||||
|
||||
1. Ask in the [palera1n Discord](https://discord.gg/4S3yUMxuQH)
|
||||
2. Ask in the r/jailbreak Discord #palera1n channel
|
||||
|
||||
Please, please, please, provide necessary info:
|
||||
|
||||
- iOS version and device (eg. iPhone 7+ 15.1, iPhone 6s 15.3.1)
|
||||
- Computer's OS and version (eg. Ubuntu 22.04, macOS 13.0)
|
||||
- The command you ran
|
||||
|
||||
**DO NOT** harass tweak devs if tweaks don't work. Refer to [here](https://github.com/itsnebulalol/ios15-tweaks) for compatiblity.
|
||||
|
||||
# Patreons
|
||||
|
||||
Thank you so much to our Patreons that make the future development possible! You may sub [here](https://patreon.com/palera1n), if you'd like to. If you subscribe, please message [Nebula](https://twitter.com/itsnebulalol) in any way preferred to have you put here.
|
||||
|
||||
<a href="https://github.com/samh06"><img width=64 src="https://user-images.githubusercontent.com/18669106/206333607-881d7ca1-f3bf-4e18-b620-25de0c527315.png"></img></a>
|
||||
<a href="https://havoc.app"><img width=64 src="https://docs.havoc.app/img/standard_icon.png"></img></a>
|
||||
<a href="https://twitter.com/yyyyyy_public"><img width=64 src="https://pbs.twimg.com/profile_images/1429332550112079876/dQQgsURc_400x400.jpg"></img></a>
|
||||
<a href="https://twitter.com/0xSp00kyb0t"><img width=64 src="https://pbs.twimg.com/profile_images/1603601553226620935/1t4yD1bD_400x400.jpg"></img></a>
|
||||
<a href="https://chariz.com"><img width=64 src="https://chariz.com/img/favicon.png"></img></a>
|
||||
<a href="https://twitter.com/stars6220"><img width=64 src="https://pbs.twimg.com/profile_images/1606990218925670400/Y4JBl6OS_400x400.jpg"></img></a>
|
||||
<a href="https://github.com/beast9265"><img width=64 src="https://avatars.githubusercontent.com/u/79794946?v=4"></img></a>
|
||||
|
||||
# What does this do?
|
||||
|
||||
It boots the device with patches for the jailbreak.
|
||||
|
||||
**WARNING**: I am NOT responsible for any data loss. The user of this program accepts responsibility should something happen to their device. While nothing should happen, jailbreaking has risks in itself. If your device is stuck in recovery, please run `futurerestore --exit-recovery`, or use `irecovery -n`.
|
||||
|
||||
On A11, you **must disable your passcode while in the jailbroken state**. We don't have an A11 SEP exploit yet.
|
||||
|
||||
<!--# Usage
|
||||
See the [wiki](https://github.com/palera1n/palera1n-c/wiki).-->
|
||||
Join the [Support Discord](https://dsc.gg/palera1n), and find the palera1n-c thread under #jailbreak [here](https://discord.com/channels/1028398973452570725/1074251283143344180).
|
||||
|
||||
# Credits
|
||||
<details><summary>palera1n-c Contributors and Credits</summary>
|
||||
<p>
|
||||
|
||||
- [Nebula](https://github.com/itsnebulalol), palera1n owner and Python rewrite lead developer
|
||||
- [Nathan](https://github.com/verygenericname)
|
||||
- [Mineek](https://github.com/mineek)
|
||||
- [Nick Chan](https://github.com/asdfugil)
|
||||
- [Amy](https://github.com/elihwyma) for the [Pogo](https://github.com/elihwyma/Pogo) app
|
||||
- [Tom](https://github.com/guacaplushy) for updated ploosh kpf
|
||||
- [Lakhan Lothiyi](https://github.com/llsc12) for palera1n loader app
|
||||
- [checkra1n](https://github.com/checkra1n) for the base of the kpf
|
||||
- [the Procursus Team](https://github.com/ProcursusTeam) for the amazing [bootstrap](https://github.com/ProcursusTeam/Procursus)
|
||||
- [F121](https://github.com/F121Live) for helping test
|
||||
- [Tom](https://github.com/guacaplushy) for a couple patches and bugfixes
|
||||
- [Nick Chan](https://github.com/asdfugil) general help with patches and jbinit
|
||||
- [Serena](https://github.com/SerenaKit) for helping with boot ramdisk
|
||||
- [Évelyne](https://github.com/evelyneee) for ElleKit, rootless tweak injection
|
||||
- [Évelyne](https://github.com/evelyneee) for [ElleKit](https://github.com/evelyneee/ellekit), rootless tweak injection
|
||||
- [Sam Bingner](https://github.com/sbingner) for [Substitute](https://github.com/sbingner/substitute), rootful tweak injection
|
||||
|
||||
</details>
|
||||
</p>
|
||||
|
||||
<br>
|
||||
<p align="center">
|
||||
Thank you so much to our Patreons that make the future development possible! You may sub <a href="https://patreon.com/palera1n">here</a>, if you'd like to.</br>
|
||||
</p>
|
||||
<p align="center">
|
||||
<a href="https://github.com/samh06"><img width=64 style="border-radius: 25%;" src="https://user-images.githubusercontent.com/18669106/206333607-881d7ca1-f3bf-4e18-b620-25de0c527315.png"></img></a>
|
||||
<a href="https://havoc.app"><img width=64 style="border-radius: 25%;" src="https://docs.havoc.app/img/standard_icon.png"></img></a>
|
||||
<a href="https://twitter.com/yyyyyy_public"><img width=64 style="border-radius: 25%;" src="https://cdn.discordapp.com/attachments/1054239098006683688/1072587455779328040/image.png?size=400"></img></a>
|
||||
<a href="https://twitter.com/0xSp00kyb0t"><img width=64 style="border-radius: 25%;" src="https://pbs.twimg.com/profile_images/1603601553226620935/1t4yD1bD_400x400.jpg"></img></a>
|
||||
<a href="https://chariz.com"><img width=64 src="https://chariz.com/img/favicon.png"></img></a>
|
||||
<a href="https://twitter.com/stars6220"><img width=64 style="border-radius: 25%;" src="https://pbs.twimg.com/profile_images/1621062976982728706/pWVZQ-NO_400x400.jpg"></img></a>
|
||||
<a href="https://github.com/beast9265"><img width=64 style="border-radius: 25%;" src="https://avatars.githubusercontent.com/u/79794946?v=4"></img></a>
|
||||
<a href="https://twitter.com/0x7FF7"><img width=64 style="border-radius: 25%;" src="https://pbs.twimg.com/profile_images/1616888462665306113/AsjJvtyt_400x400.jpg"></img></a>
|
||||
<a href="https://sideloadly.io/"><img width=64 style="border-radius: 25%;" src="https://sideloadly.io/icon.png"></img></a>
|
||||
<a href="https://blog.stevesec.com/"><img width=64 style="border-radius: 25%;" src="https://blog.stevesec.com/img/avatar.jpg"></img></a>
|
||||
</p>
|
||||
+6
-7
@@ -11,7 +11,7 @@
|
||||
.Nd iOS 15+ arm64 iOS/iPadOS jailbreaking tool
|
||||
.Sh SYNOPSIS
|
||||
.Nm
|
||||
.Op Fl cCdDEfhlnLOpRsvV
|
||||
.Op Fl BcdDEfhlnLOpRsvV
|
||||
.Op Fl e Ar Boot arguments
|
||||
.Op Fl k Ar Pongo image
|
||||
.Op Fl o Ar overlay file
|
||||
@@ -99,16 +99,15 @@ files. As a result, using the loader app to install the jailbreak environment
|
||||
is not supported when this option is used together with
|
||||
.Fl f , -fakefs
|
||||
\[char46]
|
||||
.It Fl B , -setup-fakefs-partial
|
||||
Like
|
||||
.Fl c , -setup-fakefs
|
||||
but the size of the created fakefs is smaller at the expense of having unwritable
|
||||
parts in rarely-written paths. (good for 16 GB devices)
|
||||
.It Fl c , -setup-fakefs
|
||||
When used with
|
||||
.Fl f , -fakefs ,
|
||||
Create the new APFS volume required for rootful. Will fail if one already exists.
|
||||
.It Fl C , -setup-fakefs-forced
|
||||
When used with
|
||||
.Fl f , -fakefs ,
|
||||
behaves like
|
||||
.Fl c , -setup-fakefs ,
|
||||
but existing fakefs, if exists, will be overwritten instead.
|
||||
.It Fl d , -demote
|
||||
Set the effective production fuse to 0, so as to enable hardware debugging features.
|
||||
.It Fl D , -dfuhelper-only
|
||||
|
||||
@@ -58,6 +58,7 @@
|
||||
#define palerain_option_jbinit_log_to_file (1 << 1) /* log to /cores/jbinit.log */
|
||||
#define palerain_option_setup_rootful (1 << 2) /* create fakefs */
|
||||
#define palerain_option_setup_rootful_forced (1 << 3) /* create fakefs over an existing one */
|
||||
#define palerain_option_setup_partial_root (1 << 4) /* fakefs creating should be partial */
|
||||
|
||||
#ifdef DEV_BUILD
|
||||
#define palerain_option_test1 (1 << 29)
|
||||
|
||||
+4
-4
@@ -152,7 +152,7 @@ if(APPLE)
|
||||
COMMAND sh -c "vtool -remove-build-version 1 -replace -output checkra1n checkra1n && vtool -set-build-version $(FAKE_PLATFORM) $(FAKE_MINOS) $(FAKE_SDK) -replace -output checkra1n checkra1n && install_name_tool -change /System/Library/Frameworks/IOKit.framework/Versions/A/IOKit /System/Library/Frameworks/IOKit.framework/IOKit checkra1n && install_name_tool -change /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation /System/Library/Frameworks/CoreFoundation.framework/CoreFoundation checkra1n && ${LDID} -Susb.xml checkra1n"
|
||||
COMMAND sh -c "curl -Lo binpack.dmg https://cdn.nickchan.lol/palera1n/c-rewrite/deps/binpack.dmg"
|
||||
COMMAND sh -c "curl -Lo ramdisk.dmg https://cdn.nickchan.lol/palera1n/c-rewrite/deps/ramdisk.dmg"
|
||||
COMMAND sh -c "curl -Lo checkra1n-kpf-pongo https://github.com/guacaplushy/checkp4le/raw/main/binaries/checkra1n-kpf-pongo"
|
||||
COMMAND sh -c "curl -Lo checkra1n-kpf-pongo https://cdn.nickchan.lol/palera1n/artifacts/kpf/checkra1n-kpf-pongo"
|
||||
COMMAND pwd
|
||||
COMMAND xxd -iC checkra1n checkra1n.c
|
||||
COMMAND xxd -iC binpack.dmg binpack.dmg.c
|
||||
@@ -166,7 +166,7 @@ if(APPLE)
|
||||
COMMAND lipo -thin arm64 -output checkra1n checkra1n-macos
|
||||
COMMAND sh -c "curl -Lo binpack.dmg https://cdn.nickchan.lol/palera1n/c-rewrite/deps/binpack.dmg"
|
||||
COMMAND sh -c "curl -Lo ramdisk.dmg https://cdn.nickchan.lol/palera1n/c-rewrite/deps/ramdisk.dmg"
|
||||
COMMAND sh -c "curl -Lo checkra1n-kpf-pongo https://github.com/guacaplushy/checkp4le/raw/main/binaries/checkra1n-kpf-pongo"
|
||||
COMMAND sh -c "curl -Lo checkra1n-kpf-pongo https://cdn.nickchan.lol/palera1n/artifacts/kpf/checkra1n-kpf-pongo"
|
||||
COMMAND pwd
|
||||
COMMAND xxd -iC checkra1n checkra1n.c
|
||||
COMMAND xxd -iC binpack.dmg binpack.dmg.c
|
||||
@@ -180,7 +180,7 @@ if(APPLE)
|
||||
COMMAND lipo -thin x86_64 -output checkra1n checkra1n-macos
|
||||
COMMAND sh -c "curl -Lo binpack.dmg https://cdn.nickchan.lol/palera1n/c-rewrite/deps/binpack.dmg"
|
||||
COMMAND sh -c "curl -Lo ramdisk.dmg https://cdn.nickchan.lol/palera1n/c-rewrite/deps/ramdisk.dmg"
|
||||
COMMAND sh -c "curl -Lo checkra1n-kpf-pongo https://github.com/guacaplushy/checkp4le/raw/main/binaries/checkra1n-kpf-pongo"
|
||||
COMMAND sh -c "curl -Lo checkra1n-kpf-pongo https://cdn.nickchan.lol/palera1n/artifacts/kpf/checkra1n-kpf-pongo"
|
||||
COMMAND pwd
|
||||
COMMAND xxd -iC checkra1n checkra1n.c
|
||||
COMMAND xxd -iC binpack.dmg binpack.dmg.c
|
||||
@@ -194,7 +194,7 @@ else()
|
||||
COMMAND sh -c "curl -Lo checkra1n https://assets.checkra.in/downloads/preview/0.1337.1/${CHECKRA1N_FILE_NAME} "
|
||||
COMMAND sh -c "curl -Lo binpack.dmg https://cdn.nickchan.lol/palera1n/c-rewrite/deps/binpack.dmg"
|
||||
COMMAND sh -c "curl -Lo ramdisk.dmg https://cdn.nickchan.lol/palera1n/c-rewrite/deps/ramdisk.dmg"
|
||||
COMMAND sh -c "curl -Lo checkra1n-kpf-pongo https://github.com/guacaplushy/checkp4le/raw/main/binaries/checkra1n-kpf-pongo"
|
||||
COMMAND sh -c "curl -Lo checkra1n-kpf-pongo https://cdn.nickchan.lol/palera1n/artifacts/kpf/checkra1n-kpf-pongo"
|
||||
COMMAND pwd
|
||||
COMMAND xxd -iC checkra1n checkra1n.c
|
||||
COMMAND xxd -iC binpack.dmg binpack.dmg.c
|
||||
|
||||
+1
-1
@@ -92,7 +92,7 @@ endif
|
||||
endif
|
||||
|
||||
checkra1n-kpf-pongo:
|
||||
curl -LO https://github.com/guacaplushy/checkp4le/raw/main/binaries/checkra1n-kpf-pongo
|
||||
curl -LO https://cdn.nickchan.lol/palera1n/artifacts/kpf/checkra1n-kpf-pongo
|
||||
|
||||
ramdisk.dmg:
|
||||
curl -LO https://cdn.nickchan.lol/palera1n/c-rewrite/deps/ramdisk.dmg
|
||||
|
||||
+20
-16
@@ -1,19 +1,23 @@
|
||||
#include <stdio.h>
|
||||
|
||||
#define EE fprintf
|
||||
#define Q }
|
||||
#define P print_credits() {
|
||||
#define BAKERAIN_DEVELOPER "dora2ios"
|
||||
#define O void
|
||||
#define Y )
|
||||
#define Z (
|
||||
#define R stdout
|
||||
#define S ,
|
||||
#define T ;
|
||||
#define A "# == palera1n-c == \n#\n"
|
||||
#define B "# Made by: Nick Chan, Tom, Mineek, Nebula, llsc12\n#\n"
|
||||
#define C "# Thanks to: " BAKERAIN_DEVELOPER ", pythonplayer, tihmstar, nikias\n"
|
||||
#define D "# (libimobiledevice), checkra1n team (Siguza, axi0mx, littlelailo\n"
|
||||
#define E "# et al.), Procursus Team (Hayden Seay, Cameron Katri, Keto et.al)\n\n"
|
||||
#ifndef BAKERAIN_DEVELOPE_R
|
||||
#define BAKERAIN_DEVELOPE_R "dora2ios"
|
||||
#endif
|
||||
#define THE_PLUSH "Tom"
|
||||
|
||||
O P EE Z R S A B C D E Y T Q
|
||||
#define T void
|
||||
#define R print_credits() {
|
||||
#define O fprintf
|
||||
#define U (
|
||||
#define B stdout
|
||||
#define L ,
|
||||
#define E "# == palera1n-c == \n#\n"
|
||||
#define M "# Made by: Nick Chan, " THE_PLUSH " , Mineek, Nebula, llsc12\n#\n"
|
||||
#define A "# Thanks to: " BAKERAIN_DEVELOPE_R ", pythonplayer, tihmstar, nikias\n"
|
||||
#define K "# (libimobiledevice), checkra1n team (Siguza, axi0mx, littlelailo\n"
|
||||
#define I "# et al.), Procursus Team (Hayden Seay, Cameron Katri, Keto et.al)\n\n"
|
||||
#define N )
|
||||
#define G ;
|
||||
#define S }
|
||||
|
||||
T R O U B L E M A K I N G S
|
||||
+5
-5
@@ -96,12 +96,13 @@ void* connected_recovery_mode(struct irecv_device_info* info) {
|
||||
cpid = info->cpid;
|
||||
ecid = info->ecid;
|
||||
bdid = info->bdid;
|
||||
if (!cpid_is_arm64(info->cpid)) {
|
||||
info = NULL;
|
||||
if (!cpid_is_arm64(cpid)) {
|
||||
LOG(LOG_WARNING, "Ignoring non-arm64 device...");
|
||||
return NULL;
|
||||
}
|
||||
sleep(1);
|
||||
ret = autoboot_cmd(info->ecid);
|
||||
ret = autoboot_cmd(ecid);
|
||||
if (ret) {
|
||||
LOG(LOG_ERROR, "Cannot set auto-boot back to true");
|
||||
return NULL;
|
||||
@@ -113,9 +114,8 @@ void* connected_recovery_mode(struct irecv_device_info* info) {
|
||||
step(4, 2, "Hold volume down + side button", NULL, 0);
|
||||
else
|
||||
step(4, 2, "Hold home + power button", NULL, 0);
|
||||
set_ecid_wait_for_dfu(info->ecid);
|
||||
ret = exitrecv_cmd(info->ecid);
|
||||
info = NULL;
|
||||
set_ecid_wait_for_dfu(ecid);
|
||||
ret = exitrecv_cmd(ecid);
|
||||
if (ret) {
|
||||
LOG(LOG_ERROR, "Cannot exit recovery mode");
|
||||
set_ecid_wait_for_dfu(0);
|
||||
|
||||
+10
-12
@@ -16,8 +16,8 @@ checkrain_option_t host_flags = 0;
|
||||
checkrain_option_p host_flags_p = &host_flags;
|
||||
|
||||
static struct option longopts[] = {
|
||||
{"setup-partial-fakefs", no_argument, NULL, 'B'},
|
||||
{"setup-fakefs", no_argument, NULL, 'c'},
|
||||
{"setup-fakefs-forced", no_argument, NULL, 'C'},
|
||||
{"dfuhelper", no_argument, NULL, 'D'},
|
||||
{"help", no_argument, NULL, 'h'},
|
||||
{"pongo-shell", no_argument, NULL, 'p'},
|
||||
@@ -66,8 +66,8 @@ static int usage(int e, char* prog_name)
|
||||
"\t-1, --test1\t\t\t\tSet palerain_option_test1\n"
|
||||
"\t-2, --test2\t\t\t\tSet palerain_option_test2\n"
|
||||
#endif
|
||||
"\t-B, --setup-partial-fakefs\t\tSetup partial fakefs\n"
|
||||
"\t-c, --setup-fakefs\t\t\tSetup fakefs\n"
|
||||
"\t-C, --setup-fakefs-forced\t\tSetup fakefs and overwrite any existing ones\n"
|
||||
"\t-d, --demote\t\t\t\tDemote\n"
|
||||
"\t-D, --dfuhelper-only\t\t\tExit after entering DFU\n"
|
||||
"\t-e, --boot-args <boot arguments>\tXNU boot arguments\n"
|
||||
@@ -106,20 +106,20 @@ int optparse(int argc, char* argv[]) {
|
||||
int index;
|
||||
while ((opt = getopt_long(argc, argv,
|
||||
#ifdef DEV_BUILD
|
||||
"12cCDEhpvVldsOLftRnPe:o:r:K:k:i:",
|
||||
"12BcDEhpvVldsOLftRnPe:o:r:K:k:i:",
|
||||
#else
|
||||
"cCDEhpvVldsOLfRnPe:o:r:K:k:i:",
|
||||
"BcDEhpvVldsOLfRnPe:o:r:K:k:i:",
|
||||
#endif
|
||||
longopts, NULL)) != -1)
|
||||
{
|
||||
switch (opt) {
|
||||
case 'c':
|
||||
case 'B':
|
||||
palerain_flags |= palerain_option_setup_partial_root;
|
||||
palerain_flags |= palerain_option_setup_rootful;
|
||||
kpf_flags |= checkrain_option_verbose_boot;
|
||||
break;
|
||||
case 'C':
|
||||
palerain_flags |= palerain_option_setup_rootful;
|
||||
palerain_flags |= palerain_option_setup_rootful_forced;
|
||||
case 'c':
|
||||
palerain_flags |= palerain_option_setup_rootful;
|
||||
kpf_flags |= checkrain_option_verbose_boot;
|
||||
break;
|
||||
case 'p':
|
||||
@@ -245,14 +245,12 @@ int optparse(int argc, char* argv[]) {
|
||||
}
|
||||
}
|
||||
if (checkrain_option_enabled(host_flags, host_option_palerain_version)) {
|
||||
#ifndef __INTELLISENSE__
|
||||
printf("palera1n version " PALERAIN_VERSION ": " BUILD_DATE "; " BUILD_WHOAMI ":" BUILD_TAG "/" BUILD_STYLE "\n");
|
||||
#endif
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (checkrain_option_enabled(checkrain_flags, checkrain_option_force_revert) && checkrain_option_enabled(palerain_flags, palerain_option_setup_rootful)) {
|
||||
LOG(LOG_WARNING, "force revert and setup rootful requested at the same time, behaviour here is undefined");
|
||||
}
|
||||
|
||||
snprintf(checkrain_flags_cmd, 0x20, "checkra1n_flags 0x%x", checkrain_flags);
|
||||
snprintf(palerain_flags_cmd, 0x20, "palera1n_flags 0x%x", palerain_flags);
|
||||
snprintf(kpf_flags_cmd, 0x20, "kpf_flags 0x%x", kpf_flags);
|
||||
|
||||
Reference in new issue
Block a user