A multipurpose jailbreak tool for windows
You've probably heard of jailm8, the bootable linux os that was optimised for checkra1n, and a few other features.
I saw that a lot of people used my tool to run project sandcastle without a linux computer. I felt sorry for these people, as there were no native tools for psc for windows.
I saw this with a lot of other tools as well. Tools that could have been compiled in a few minutes with cygwin or MingW.
So I had made jailm8, with all its extra features, but I was disappointed by the lack of tools available for windows. I saw that people had to resort to compiling tools themselves with cygwin, which is a horrible experience for some tools (project sandcastle I'm looking at you)
On my discord support server, I was talking about how jailm8 (the iso) would become obsolete when checkra1n for windows is released. Then a friend asked me if I could make a simple tool that would make it easy to set up the same extra features I had in jailm8, but for windows.
Naturally, I looked around, no one had specific tools compiled for windows, everyone expected people to compile them themselves.
I got to work, compiling various different jailbreak tools, and making a small windows app that could run these files.
In short, its a minimal frontend, that sets everything up for you, for various tools for windows.
Some of these tools can be hard to find, so having one app download and set them up for you is very useful. I understand some of you will just download the tools yourself, which by all means is what you could. With libimobiledevice, there are things like apple mobiledevice support which you have to take into account, and if you have a different version of itunes installed, it can be hard finding out whats causing the problem. Jailm8 will check and install everything for you. Jailm8 can make some tasks much easier. A prime example of this is when using ideviceenterrecovery. Normally you have to get your device's udid and manually enter it into the utility, but jailm8 does everything for you. Once in recovery mode, the tools for interacting with the device in recovery mode are opened straight away. Jailm8 has some tools fully built in and integrated, like ideviceinfo. It has a scrollable screen, it asks if you want to dump it, and keeps things simple. Its also nice to just have a few different tools in the same place.
YES!
You can use the diy command to move the libimobiledevice folder to the working directory (where jailm8.exe is). You can then cd into this directory with command prompt or powershell, and run the exe's. For documentation on the guides, check the libimobiledevice website
You can put either the number or command into the jailm8 interface
Number in menu | command | info |
---|---|---|
1. | android | boot android through project sandcastle (once checkra1n is relased for windows, this will be merged with the next option) |
2. | linux | boot linux through project sandcastle |
3. | iproxy | forward your devices local ssh server to a port on your computer |
4. | name | check which devices are connected, outputs connected devices names |
5. | id | see device udid |
6. | info | outputs a long list of details regarding your device. It can also dump these details to a text file |
7. | pair | idevicepair utility |
8. | provision | ideviceprovision utility |
9. | date | see device date |
10. | futurerestore | futurerestore utility |
11. | installer | ideviceinstaller utility |
12. | irecovery | recovery utilities |
13. | diy | download libimobiledevice to working directory |
14. | exit | guess |
15. | menu | Shows app menu |
16. | help | shows help text |
17. | color | shows available colour schemes for jailm8 |
18. | update | updates downloaded resources from this repo |
19. | clean | deletes downloaded resources |
diagnostics | idevicediagnostics utility | |
idevicesetlocation | idevicedsetlocation utility | |
idevicedevmodectl | idevicedevmodectl utility | |
version | prints current jailm8 version, latest jailm8 version and connected device's ios version if connected | |
restart | restart's jailm8, this isn't that important a command so I didn't add a menu entry for this | |
stats | prints a list of useful stats from the app itself, like how many resources have been saved | |
amds64 | Lets you trigger the Apple Mobile Device Support installer manually | |
appleupdater | Lets you trigger the Apple Spftware Update installer manually | |
itunes | Lets you install iTunes from Apple servers | |
jitterbugpair | jitterbugpair utility | |
sideserver | downloads an installer for sideserver | |
startup | lets you set a command to be run automatically when starting jailm8 | |
support | Join my discord server for more support, or if you just wanna talk about jb | |
prefs | prints the saved prefs (if any) | |
full restart | start a new, nested instance of jailm8 | |
clisetup | allow jailm8 to be run from anywhere |
This repo contains (most of) the precompiled binaries for the tools included above. Jailm8.exe will download these files if you choose an option that requires them.
It will only download the required files, so you won't get unnecessary files being downloaded
If you have errors with a message saying windows couldn't run this program, use the clean command, and try again
The resources folder also contains some saved data (colour schemes), so you will need to re-run the color command after cleaning the resources.
This repo also hosts some of the files used for the update checker, these are not affected by the clean command.
Not all the files are kept in the source code part, some files are too big.
For the links to every resource, check the resource-links file
This repo is also key to the app working, as it is where it obtains all the links it needs to work properly
Actually, most of the functions are batch functions, but the overall app is held together by c. This keeps the app nice and small, but also lets jailm8 integrate all the tools into the app much quicker. Its compiled with mingw. Most of the time, it will act like batch, but the C parts handle startup and exit. I highly suggest using the exit option (14 on menu) instead of simply pressing the cross, just to allow the app to close properly.
Jailm8 will automatically check for updates (when it displays the ASCII jailm8 text), and if there is an update available, it will ask if you want to update.
If you select yes, it will close jailm8 and open a command prompt window where the old jailm8.exe will be deleted, and a new one will be downloaded. It should automatically start jailm8 again, unless something interferes with it.
Its kept small by keeping all resources to be downloaded, so nothing is kept in the app itself, apart from links. The app itself doesn't have a gui, so theres no excess code needed. It is also kept small by using an optimum combination of C and Batch code, keeping the need for extra compilable code short.
YES! Well, kinda. You can grab it from releases. The CLI app is used as a sort of backend, which the GUI "frontend" passes commands to. It doesn't matter what you save the GUI as, as long as its not "jailm8.exe". The GUI is much newer, and is kind of a side project, so it has a few more bugs, but it is the more "complete" and user friendly interface.
Project sandcastle binaries from here compiled by me
libimobiledevice, automatically compiled in a fork of a fork of libimobiledevice. The forks only add automated compilation workflows
Apple Mobile Device Support 64 extracted from the iTunes setup EXE (downloaded using the apple software update tool that comes with itunes)
Futurerestore static binaries precompiled