Skip to main content

iOS kernelcache patcher

Project description

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, amfi, signature checking, and more. 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 is supported for iPhone 3GS. The patches themselves should be very close or exactly the same. Only real differences between devices is where everything gets loaded. 5.x have been tested and all of them restore without issues.

Additional functionality

This project also provides a diff function, although it needs updating. Note, when diffing two kernels, they must be the same size.

Issues

iOS 4 and 6 are not supported currently. I'm not aware of what needs to be fixed, but I will look into it when I get the chance. For iOS 6, it is restored_external related. I'm not sure what to do, however it involves tickets. I'm assuming ApTicket? Anyway, I will be focusing on adding jailbreak support for iOS 5 for now.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pykernelpatch-1.0.3.tar.gz (8.3 kB view details)

Uploaded Source

Built Distribution

pykernelpatch-1.0.3-py3-none-any.whl (9.5 kB view details)

Uploaded Python 3

File details

Details for the file pykernelpatch-1.0.3.tar.gz.

File metadata

  • Download URL: pykernelpatch-1.0.3.tar.gz
  • Upload date:
  • Size: 8.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.12

File hashes

Hashes for pykernelpatch-1.0.3.tar.gz
Algorithm Hash digest
SHA256 f7cc7a0e54083a227b5ec2aadcafcec46a6147cdd9c69e2cfbbe432fd1e17d85
MD5 34ce0357f53c103c8f94f78ee9100863
BLAKE2b-256 7f5ebb24c6d455d2bd34b2e2dfd32a48fb33eda0c5de6487e25b0e1dbba40c60

See more details on using hashes here.

File details

Details for the file pykernelpatch-1.0.3-py3-none-any.whl.

File metadata

File hashes

Hashes for pykernelpatch-1.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 fcb29c979ce0c1cd53afd6405614f232039c5fb720a60ec8a3fadceb68578cb5
MD5 ed09550dea4f407d72d9502f1245fc76
BLAKE2b-256 5e5fe4e2857d9c5a37b8865083e332d1c229b5304b0c87a3ae6964abe7051cb4

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page