-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
4c5e7d4
commit c81b7be
Showing
14 changed files
with
247 additions
and
2 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,2 +1,106 @@ | ||
# Alpine_PPPwn-Luckfox | ||
PPPwn-Luckfox_Alpine-Linux | ||
# PPPwn-Luckfox | ||
|
||
An alternative low-cost Linux board for exploits PS4 on V11.00 or below.<br> | ||
Original work by theflow <a href=https://github.com/TheOfficialFloW/PPPwn>PPPwn</a> | ||
and thanks to xfangfang <a href=https://github.com/xfangfang/PPPwn_cpp>PPPwn-CPP</a> for an executable re-write of PPPwn in C++ for Cortex-A7 which is compatible with RV1103/RV1106 rockchip | ||
on the luckfox pico series and SiSTRo for his <a href=https://github.com/GoldHEN/GoldHEN>GoldHen</a>, and lastly <a href=https://github.com/stooged/PI-Pwn>Stooged</a> for his inspiration. <br> | ||
|
||
## Note | ||
|
||
- Currently support PS4 version: `9.00, 9.60, 10.00, 10.01, 11.00` | ||
- The average PPPwned time is around `1min - 2min` sometimes it load under `1 minute` | ||
- Using `pppwn` nightly build from xfangfang PPPwn_cpp <be> | ||
|
||
## Tested Version | ||
|
||
- [x] 9.00 | ||
- [x] 9.60 | ||
- [x] 10.00 | ||
- [x] 10.01 | ||
- [x] 11.00 | ||
|
||
## What it does | ||
|
||
The goal here is to setup the Luckfox pico to automatically try and jailbreak the console, all you need to do is wait until the process completes. Once it PPPwned the process will stop. <br> | ||
|
||
## Requirements | ||
|
||
- An SD Card 8GB or above | ||
- Luckfox Pico/Pro/Max/Plus/Mini | ||
- Ethernet Cable | ||
- USB Type-C for power to the board | ||
- A USB drive with exFAT32 formatted (only use for the first time to load GoldHEN) | ||
|
||
## Support Boards | ||
|
||
- <b>Luckfox Pico Pro</b><br> | ||
- <b>Luckfox Pico Max</b><br> | ||
- <b>Luckfox Pico Plus</b><be> | ||
- <b>Luckfox Pico Mini *</b><br> | ||
- <b>Luckfox Pico *</b><br> | ||
|
||
## Installation Software | ||
|
||
1. Download <a href=https://drive.google.com/drive/folders/1sFUWjYpDDisf92q9EwP1Ia7lHgp9PaFS>Ubuntu OS </a> After you download, extract one of the zip files according to your Luckfox Pico models. <br> | ||
2. Burn the image onto an SD Card. Download <a href=https://drive.google.com/file/d/1ALo4G7rEaF1GNhUHINoYHT_RGWGddzYw>SocToolKit</a> and unzip the burning tool. | ||
3. Open the software and select your chip type | ||
|
||
Luckfox Models | Chip Type | ||
------------- | ------------- | ||
Luckfox Pico Pro/Max | RV1106 | ||
Luckfox Pico/Plus/Mini | RV1103 | ||
|
||
4. Steps to download firmware for Luckfox Pico on Windows: <br> | ||
a. Choose the SD card tool.<br> | ||
b. The SD card size will be displayed under USB Disk. If not displayed, reinsert the card reader.<br> | ||
c. Select SD card booting.<br> | ||
d. Import the boot file.(Note: The startup files do not include update.img)<br> | ||
e. Click "Create SD Card".<br> | ||
|
||
5. After done, eject and place the SD card into the Luckfox, power it using USB Type-C, and wait about `5 to 10 min` for luckfox to config the network, then connect it to the internet by plugging the LAN cable into the router <br> | ||
6. Loggin to ubuntu: | ||
|
||
log in using SSH: connect Luckfox to the internet via LAN cable, find its IP on your router, and log in via SSH on <a href=https://putty.org>PuTTY</a> | ||
|
||
```sh | ||
Login: pico | ||
Password: luckfox | ||
``` | ||
|
||
7. After you log in, run the following commands and follow the setup instruction | ||
|
||
```sh | ||
git clone https://github.com/0x1iii1ii/PPPwn-Luckfox.git | ||
cd PPPwn-Luckfox | ||
chmod +x install.sh | ||
sudo ./install.sh | ||
``` | ||
|
||
Once the Luckfox reboots pppwn will run automatically.<be> | ||
|
||
## * Special Note for Luckfox Pico/Mini | ||
Ignore this if you use Pro/Max/Plus version. For these 2 boards, there's no Ethernet port, to make it work you need to solder the LAN Port (RJ45) cable to it, either female or male is fine, and burn the Ubuntu image with `pico plus image` and follow the same step as other boards. See the wiring in the `Issues` tab. | ||
|
||
## Installation Hardware | ||
|
||
1. You simply need to connect the LAN cable from Luckfox Pico to the PS4 and power the Luckfox from the PS4 via a USB Type-C cable or other sources. | ||
|
||
## On your PS4:<br> | ||
|
||
- Go to `Settings` and then `Network`<br> | ||
- Select `Set Up Internet connection` and choose `Use a LAN Cable`<br> | ||
- Choose `Custom` setup and choose `PPPoE` for `IP Address Settings`<br> | ||
- Enter `ppp` for `PPPoE User ID` and `PPPoE Password`<br> | ||
- Choose `Automatic` for `DNS Settings` and `MTU Settings`<br> | ||
- Choose `Do Not Use` for `Proxy Server`<br> | ||
|
||
For GoldHen you need to place the goldhen.bin file onto the root of a usb drive and plug it into the console.<br> | ||
Once goldhen has been loaded for the first time it will be copied to the consoles internal hdd and the usb is no longer required.<br> | ||
To update goldhen just repeat the above process and the new version will be copied to the internal hdd<br> | ||
|
||
## Upcoming alternative method using NAND flash | ||
|
||
- no SD card | ||
- boot faster | ||
- execute pppwn faster | ||
- higher success rate |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,141 @@ | ||
#!/bin/bash | ||
|
||
echo "______________________________ " | ||
echo "\\______ \\______ \\______ \\__ _ ______ " | ||
echo " | ___/| ___/| ___/\\ \\/ \\/ / \\ " | ||
echo " | | | | | | \\ / | \\ " | ||
echo " |____| |____| |____| \\/\\_/|___| / " | ||
echo " \\/ " | ||
echo " __ __ _____ " | ||
echo "| | __ __ ____ | | ___/ ____\\_______ ___ " | ||
echo "| | | | \\_/ ___\\| |/ /\\ __\\/ _ \\ \\/ / " | ||
echo "| |_| | /\\ \\___| < | | ( <_> > < " | ||
echo "|____/____/ \\_____>__|_ \\ |__| \\____/__/\\_ \\ " | ||
echo "" | ||
|
||
echo "by: https://github.com/0x1iii1ii/PPPwn-Luckfox" | ||
echo "" | ||
echo "credit to:" | ||
echo "https://github.com/TheOfficialFloW/PPPwn" | ||
echo "https://github.com/xfangfang/PPPwn_cpp" | ||
echo "" | ||
echo "Recompiled by Oresterosso TeamItalianModder" | ||
echo "" | ||
|
||
# Display the list of firmware versions | ||
echo "Please select your PS4 firmware version:" | ||
echo "a) 9.00" | ||
echo "b) 9.60" | ||
echo "c) 10.00" | ||
echo "d) 10.01" | ||
echo "e) 11.00" | ||
echo "" | ||
# Prompt the user for the selection | ||
read -p "Enter your choice (a/b/c/d/e): " FW_CHOICE | ||
|
||
# Set the firmware version based on the user's choice | ||
declare -A fw_versions=( | ||
[a]="900" | ||
[b]="960" | ||
[c]="1000" | ||
[d]="1001" | ||
[e]="1100" | ||
) | ||
|
||
FW_VERSION=${fw_versions[$FW_CHOICE]} | ||
|
||
if [ -z "$FW_VERSION" ]; then | ||
echo "Invalid choice. Exiting." | ||
exit 1 | ||
fi | ||
|
||
# Confirm the firmware version selection | ||
echo "You have selected firmware version $FW_VERSION. Is this correct? (y/n)" | ||
read -p "Enter your choice: " CONFIRMATION | ||
|
||
if [[ $CONFIRMATION != "y" ]]; then | ||
echo "Firmware selection not confirmed. Exiting." | ||
exit 1 | ||
fi | ||
|
||
# Define the paths for the stage1 and stage2 files based on the firmware version | ||
STAGE1_FILE="stage1/$FW_VERSION/stage1.bin" | ||
STAGE2_FILE="stage2/$FW_VERSION/stage2.bin" | ||
|
||
# Create the execution script with the user inputs | ||
cat <<EOL > /root/PPPwn/pppwn_script.sh | ||
#!/bin/bash | ||
# Define variables | ||
FW_VERSION=$FW_VERSION | ||
STAGE1_FILE="$STAGE1_FILE" | ||
STAGE2_FILE="$STAGE2_FILE" | ||
# Disable eth0 | ||
ifconfig eth0 down | ||
# Wait a second | ||
sleep 1 | ||
# Enable eth0 | ||
ifconfig eth0 up | ||
# Wait a second | ||
sleep 1 | ||
# Change to the directory containing the pppwn executable | ||
cd /root/PPPwn/ | ||
# Execute the pppwn command with the desired options | ||
./pppwn --interface eth0 --fw \$FW_VERSION --stage1 "\$STAGE1_FILE" --stage2 "\$STAGE2_FILE" -a -t 5 -nw -wap 2 | ||
# Check if the pppwn command was successful | ||
if [ \$? -eq 0 ]; then | ||
echo "pppwn execution completed successfully." | ||
sleep 10 | ||
ifconfig eth0 down | ||
sleep 5 | ||
sudo halt | ||
else | ||
echo "pppwn execution failed. Exiting script." | ||
exit 1 | ||
fi | ||
EOL | ||
|
||
# Make the pppwn script executable | ||
chmod +x /root/PPPwn/pppwn_script.sh | ||
chmod +x /root/PPPwn/pppwn | ||
|
||
# Create the pppwn OpenRC service file | ||
cat <<EOL > /etc/init.d/pppwn | ||
#!/sbin/openrc-run | ||
description="PPPwn Script Service" | ||
pidfile="/run/pppwn.pid" | ||
depend() { | ||
need localmount net | ||
} | ||
start() { | ||
ebegin "Starting PPPwn Script Service" | ||
/root/PPPwn/pppwn_script.sh & | ||
eend $? | ||
} | ||
stop() { | ||
ebegin "Stopping PPPwn Script Service" | ||
pkill -f "/root/PPPwn/pppwn_script.sh" | ||
eend $? | ||
} | ||
EOL | ||
|
||
# Make the OpenRC service script executable | ||
chmod +x /etc/init.d/pppwn | ||
|
||
# Add the pppwn service to the default runlevel | ||
rc-update add pppwn default | ||
|
||
echo "Install completed! Rebooting..." | ||
|
||
sudo reboot |
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.