Skip to main content

Static mach-o binary analysis tool.

Project description

ktool

Static Mach-O binary metadata analysis tool / information dumper

Installation

pip3 install k2l

Usage

usage: ktool [command] <flags> [filename]

ktool dump:
ktool dump --headers --out <directory> [filename] - Dump set of headers for a bin/framework
ktool dump --tbd [filename] - Dump .tbd for a framework

ktool file:
ktool file [filename] - Prints (very) basic info about a file (e.g. "Thin MachO Binary")

ktool lipo:
ktool lipo --extract [slicename] [filename] - Extract a slice from a fat binary
ktool lipo --create [--out filename] [filenames] - Create a fat MachO Binary from multiple thin binaries

ktool list:
ktool list --symbols [filename] - Print the symbol table for the file
ktool list --classes [filename] - Print the list of classes
ktool list --protocols [filename] - Print the list of protocols
ktool list --linked [filename] - Print a list of linked libraries

ktool info:
usage: ktool info [-h] [--slice SLICE_INDEX] [--vm] [--cmds] [--binding] filename
ktool info [--slice n] [filename] - Print generic info about a MachO File
ktool info [--slice n] --vm [filename] - Print VM -> Slice -> File address mapping for a slice of a MachO File
ktool info [--slice n] --cmds [filename] - Print list of load commands for a file 
ktool info [--slice n] --binding [filename] - Print binding actions for a file

Will document other features soon, more are on the way.


written in python for the sake of platform independence when operating on static binaries and libraries

Special thanks to

IDA for making it possible to write the code without actually understanding full internals
JLevin and *OS Internals Vol 1 for actually understanding the internals and specifics + writing documentation
arandomdev for guidance + code

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

Uploaded Source

Built Distribution

k2l-0.6.0-py3-none-any.whl (27.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: k2l-0.6.0.tar.gz
  • Upload date:
  • Size: 24.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.6.3 pkginfo/1.7.1 requests/2.23.0 requests-toolbelt/0.9.1 tqdm/4.62.0 CPython/3.8.10

File hashes

Hashes for k2l-0.6.0.tar.gz
Algorithm Hash digest
SHA256 17caa0e36e2576e68a8263db330323cffd4bcfc55e1e9e0cd5b0db0d6530b4db
MD5 5de469699c6bd8ec93e396d372857d0e
BLAKE2b-256 83b832d29d5074631e97d8df5b8bef5399e45334ea04114447d354ad9258f76f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: k2l-0.6.0-py3-none-any.whl
  • Upload date:
  • Size: 27.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.6.3 pkginfo/1.7.1 requests/2.23.0 requests-toolbelt/0.9.1 tqdm/4.62.0 CPython/3.8.10

File hashes

Hashes for k2l-0.6.0-py3-none-any.whl
Algorithm Hash digest
SHA256 cb3be05160c0ef1fb0c9da12348e26a4c9decb29854b88936d3c0165a7f60c88
MD5 79177bff3bd5bc4f71c110ec6e9098f6
BLAKE2b-256 3341d59faecee6f7e44268915d6f98b21fa3f62da491e4acd70fdbbf3cd1d170

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