Skip to main content

Static MachO/ObjC Reverse Engineering Toolkit

Project description

Logo

MachO/ObjC Analysis + Editing toolkit.


Library Documentation

Installation

# Installing
pip3 install k2l

# Updating
pip3 install --upgrade k2l

Usage

> $ ktool
Usage: ktool [command] <flags> [filename]

Commands:

GUI (Still in active development) ---
    ktool open [filename] - Open the ktool command line GUI and browse a file

MachO Analysis ---
    dump - Tools to reconstruct headers and TBDs from compiled MachOs
    kcache - Kernel cache specific tools
    list - Print various lists (Classlist, etc.)
    symbols - Print various tables (Symbols, imports, exports)
    info - Print misc info about the target mach-o

MachO Editing ---
    insert - Utils for inserting load commands into MachO Binaries
    edit - Utils for editing MachO Binaries
    lipo - Utilities for combining/separating slices in fat MachO files.

Misc Utilities ---
    file - Print very basic info about the MachO
    img4 - IMG4 Utilities
    

Run `ktool [command]` for info/examples on using that command

written in pure, 100% python for the sake of platform independence when operating on static binaries and libraries. this should run on any and all implementations of python3.

Tested on:

  • Windows/Windows on ARM64
  • MacOS x86/arm64
  • Linux/Linux ARM64
  • iOS (iSH, ssh)
  • Android (Termux)
  • WebAssembly
  • Brython

Credits

Chained fixup processing is currently entirely based on https://github.com/xpcmdshell/bn-chained-fixups

Special thanks to

JLevin and *OS Internals for existing

arandomdev for guidance + code

Blacktop for their amazing ipsw project: https://github.com/blacktop/ipsw

Project details


Release history Release notifications | RSS feed

Download files

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

Source Distribution

k2l-1.1.3.tar.gz (84.4 kB view details)

Uploaded Source

Built Distribution

k2l-1.1.3-py3-none-any.whl (92.8 kB view details)

Uploaded Python 3

File details

Details for the file k2l-1.1.3.tar.gz.

File metadata

  • Download URL: k2l-1.1.3.tar.gz
  • Upload date:
  • Size: 84.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.13 CPython/3.8.10 Linux/4.4.0-22567-Microsoft

File hashes

Hashes for k2l-1.1.3.tar.gz
Algorithm Hash digest
SHA256 d8ada8c2c0c7eb7a0d8af2e8289873dd8f0a829ade28c3810f5d049e563ddecc
MD5 8723fd75e068c50fe64d5c26c082d899
BLAKE2b-256 e375cfd6386a3042b91ebb976de171d89b72e3a5e2396fb0e28d1c0d13fbe241

See more details on using hashes here.

File details

Details for the file k2l-1.1.3-py3-none-any.whl.

File metadata

  • Download URL: k2l-1.1.3-py3-none-any.whl
  • Upload date:
  • Size: 92.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.13 CPython/3.8.10 Linux/4.4.0-22567-Microsoft

File hashes

Hashes for k2l-1.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 a68d08a2e463e6b6743196d50996a4a2bc45f2720d086416de43639ccf4e3889
MD5 d81d4d4ebca81f0f8f8ebb2fc6d61a59
BLAKE2b-256 95116315b61ada886d2a71ad0f2d962f82b8f5dffcce374ba730a18acc849d87

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