About the project
This is a WIP iOS 32-bit (atm) kernel patcher. The project is by all means not to be used in any sort of production environment. This is and will always be a library to help understand, develop, and automate certain patches to an iOS kernel in particular.
How the project works
So far, the only thing that is being done is that a binary file is being passed to find offsets with a given pattern and is patching 1 or more bytes to disable certain aspects of a decrypted kernelcache to enable restoring unsigned firmware. This does not patch the kernel to be used in a jailbroken environment. That requires more patches, but will be added to this project eventually.
What's being patched
Unfortunately, I'm not fully certain what these patches do, however I know that the patches that are being used tie into codesigning and I believe a few things regarding the AppleImage3NORAccess.kext. I'm not aware exactly what is being patched, but the patches that are being used are derived from the sn0wbreeze project, which provides patched iOS ipsw's which can be used to either jailbreak or to preserve the baseband that comes with the ipsw. So far, the patches that are from the baseband preservation mode that sn0wbreeze offers are being used in this project.
What versions and devices are supported
So far, iOS 5.x are supported, but only iOS 5.0.1 and 5.1.1 are for sure exact patches. I have only restored to 5.1.1, which works, but 5.0.1 should work too. I tried to use the patches between 5.0.1 and 5.1.1 to create 5.0 and 5.1 patches as sn0wbreeze does not come with 5.0 or 5.1 support, at least for the iPhone 3GS. I will be testing soon and will give updates on new iOS support. So only the iPhone 3GS is supported, but patches could also be used on another device's kernel, however I can't guarantee anything for now.
Additional functionality
This project also provides a diff function, although it needs updating. Note, when diffing two kernels, they must be the same size.
Metadata
Release files for pykernelpatch 1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| pykernelpatch-1.tar.gz | 9.2 kB | Without provenance | Details for pykernelpatch-1.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| pykernelpatch-1-py3-none-any.whl | Python 3 | none | any | Details for pykernelpatch-1-py3-none-any.whl |
Total release size: 19.5 kB
Release files / pykernelpatch-1.tar.gz
| Download URL | pykernelpatch-1.tar.gz |
|---|---|
| Size | 9.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
ad96bd86ae31e5f58890497a5ba84b31baf91f2e971592c2608b3082513bdcd2
|
|
BLAKE2b-256 checksum How to use checksums |
48b26e6969d97abab627e4818b8c6064d67b3becacfe7a17e5b04a84a9d39781
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.10.12
|
Release files / pykernelpatch-1-py3-none-any.whl
| Download URL | pykernelpatch-1-py3-none-any.whl |
|---|---|
| Size | 10.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
ad7d0e4293d5de38a846a1a87b70dd6886dc96a4b9724c2f29710a7c115c5e9c
|
|
BLAKE2b-256 checksum How to use checksums |
4479247a184b76ff5f4ec1c6f504db21463cce229de9c4aac58a2be351c9bb79
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.10.12
|
Security for pykernelpatch 1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.