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 is both a convenient CLI toolkit and a library that can be used in other tools.

CLI Usage
> $ ktool
Usage: ktool <global flags> [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 certain files (headers, .tbds) from compiled MachOs
    json - Dump image metadata as json
    cs - Codesigning info
    kcache - Kernel cache specific tools
    list - Print various lists (ObjC Classes, 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

Global Flags:
    -f - Force Load (ignores malformations in the MachO and tries to load whatever it can)
    -v [-1 through 5] - Log verbosiy. -1 completely silences logging.
    -V - Print version string (`ktool -V | cat`) to disable the animation
Library

Library documentation is located here


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

Special thanks to

JLevin and *OS Internals for existing

arandomdev for guidance + code

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

Artists behind the images used in this project's logo: https://github.com/0cyn/ktool/tree/master/EXTERNAL_LICENSES#image-notes

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-2.0.0.tar.gz (97.6 kB view details)

Uploaded Source

Built Distribution

k2l-2.0.0-py3-none-any.whl (108.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: k2l-2.0.0.tar.gz
  • Upload date:
  • Size: 97.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.7.1 CPython/3.11.6 Darwin/23.1.0

File hashes

Hashes for k2l-2.0.0.tar.gz
Algorithm Hash digest
SHA256 eba4058f1badb24eda1eae0b341fa2134b73b2e9e140192c6a427762fb07d758
MD5 2c1f967b89c1caaa49b893f6a9166ef3
BLAKE2b-256 8035fb6db12c0fae6cbdce5832ceb6ae1238e6b20aa4d6b7108ce61ad9e110c5

See more details on using hashes here.

File details

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

File metadata

  • Download URL: k2l-2.0.0-py3-none-any.whl
  • Upload date:
  • Size: 108.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.7.1 CPython/3.11.6 Darwin/23.1.0

File hashes

Hashes for k2l-2.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 029dc75e1715f0ce0f0893adf413cbaf834dca3234d8658cf47100c19342a063
MD5 948e8dbf45a59802197adb35bc054613
BLAKE2b-256 19da0ef5204e17a16fa177d65b47749730c59397fc46ba52181a48288c4fbea8

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