Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ibootvideoplayer

Play videos on Apple's iBoot over USB.

Dependencies

These packages will be required to build ibootvideoplayer:

Building and Installation

Use CMake to build and install the executable:

git clone https://github.com/XboxOneSogie720/ibootvideoplayer.git
cd ibootvideoplayer
mkdir build && cd build
cmake ..
make
sudo make install

Support

This project has only been tested on macOS Catalina and macOS Tahoe, both Intel and Apple Silicon. Linux will likely work. Windows will likely fail.

Usage

Note that your device will need to be in DFU mode with sigchecks removed.

  • For first-gen iPhones and iPod, send a patched WTF file, PwnageTool makes an IPSW with one in there for you.
  • For IMG3 devices, use limera1n.
  • For IMG4 devices, use gaster.
Short Option Long Option Following Argument Type Description
-h --help None Prints usage information.
-i --input String Path to the input file. If a video, an archive will be created at -o's argument. If an archive (ibootvideoplayerarchive.ibvpa), playback will occur.
-p --play-now None Skips uploading of the iBSS and iBEC and just plays the archive. This means you'd have to upload a patched iBSS/iBEC yourself.
-s --ibss String Path to your sigcheck-patched iBSS to send on playback.
-c --ibec String Path to your sigcheck-patched iBEC to send on playback.
Note on -s and -c: These should be the raw payloads and not in an IMG3/IM4P/IMG4 container.
-W --width Unsigned 16-bit Integer Width of the device you're targeting.
-H --height Unsigned 16-bit Integer Height of the device you're targeting.
Note on -W and -H: For iPhone, iPad and iPod, they should be taken as if the phone's charging port is facing you.
-o --output String Where to save the ibootvideoplayer archive.
-I --image-template String Path to a stock iBoot image from your IPSW.
-S --ibss-template String Path to a stock iBSS from your IPSW.
-C --ibec-template String Path to a stock iBEC from your IPSW.
Note on -I, -S, and -C: These should all be IMG3 containers.
-m --im4m String Path to a valid IM4M that will be used to pseudo-sign the bootloaders and frames.

Playback Usage

Key Action
Spacebar/k Play/Pause.
a/d Seek backward/forward 5 seconds.
j/l Seek backward/forward 10 seconds.
. While the video is paused, skip to the next frame.
, While the video is paused, go back to the previous frame.
Numbers 1 to 9 Seek to 10% to 90% of the video.
Number 0 Seek to the beginning of the video.
esc/q Quit playback.

Version History

v0.2.0: usbliter8 support.

Notes

ibootvideoplayer now has the capability to detect which pwner pwnd your device, and if it was usbliter8, uses its custom file uploading protocol. Implementation was ported directly from usbliter8ctl, so big thanks!

v0.1.0: Initial build.

Notes

The video to archive pipeline is working, fully compatible with IMG3/IMG4, and has stable playback with no drift seen in testing.

Motive

You know how your device displays the dead battery icon when it's dead, and the Apple logo when it starts up? That's iBoot's capability to display a picture. And what is a video? A bunch of pictures that are streamed really really fast, and that's exactly what this program does.

Releases

Packages

Contributors

Languages