checkm8gui is an application for macOS and Linux which adapts the ipwndfu command-line tool by axi0mX to a graphical application.
This program was written by me, however this program would not be possible without the work axi0mX has put into ipwndfu and the work Srikanth Lingala has put into zip4j.
zip4j is licensed under the Apache License 2.0.
zip4j Copyright 2010 Srikanth Reddy Lingala
This program's GUI has been tested on an Ubuntu virtual machine and on a Windows machine, however, it has not been tested on a physical iOS device because I only own an S8003 iPhone 6s which is not currently supported by ipwndfu.
UPDATE: On October 22nd, checkm8gui v0.2 was tested on a 2013 Apple TV 3rd generation and was successfully put into pwned DFU mode. No other functions of checkm8gui were tested and no other devices have been tested.
This program can enter your device into pwned DFU mode on a checkm8-compatible device. Once the device is in pwned DFU mode, this program can dump the SecureROM of the device, demote the device, or verbose boot the device. Features which are planned to be implemented in the near future are: decrypting keybags, changing your boot logo, restoring to signed and unsigned firmwares, and running custom ipwndfu commands.
This is not a tool for the inexperienced. This tool could seriously damage your device if misused. If you don't know what you're doing, stay away from this application. It is not feasibly possible to accidentally demote your device with this program. When the demote device option is chosen, multiple confirmation warnings are given before the task is carried out.
This tool can either be run from the .jar executable of the latest release in the Releases tab, or can be compiled using javac.
Java Runtime Environment or Java Development Kit
A Unix-based operating system
-v/-verbose - Prints the command issued to the terminal along with the output of the command when an option is picked. This is not to be confused with verbose booting your iOS device.
--ignore-os - Launches the application regardless of what operating system it's being run on.
--ipwndfu-folder folder - A command to manually specify your ipwndfu folder location. This does not overwrite the location recorded in checkm8gui.bin. This folder specification will only persist in the current session.
There are many performance and consistency issues in the source code. None of these will affect your experience with the program in practice, however these are planned to be fixed in a future pre-release update nonetheless.
I will respond to any PM I receive on Reddit.
u/verystrangebeing