Skip to main content

Hilda bridges LLDB and IPython to deliver an improved debugging workflow

Project description

Hilda

Hilda bridges LLDB and IPython to deliver an improved debugging workflow.

Both Hilda and Frida serve a similar purpose, but Hilda takes a "debugger" approach (the name actually comes from the TV show "Hilda", where Hilda is the best friend of Frida).

Installation

To install, run:

# ⚠️ Note that the following installs Hilda for the current user using XCode's Python so LLDB will work properly
xcrun python3 -m pip install --user -U hilda
# XCode's Python can be located by running `xcrun --find python3`
# Hilda installation can be located by running `xcrun python3 -m pip show hilda | grep Location`

To use Hilda with an iOS device, you will need a Jailbroken iOS device with debugserver in the device's PATH. You can use this tool to get the binary, re-sign it with the appropriate entitlements and put it in /usr/bin/debugserver.

Overview

Start Hilda using (or use another mode of operation):

hilda launch /path/to/executable

Upon starting Hilda, you are welcomed into Hilda's IPython shell, with the variable p, using which you can access various methods, including reading and writing memory and adding breakpoints.

Hilda displays the state of the target process using a configurable UI consisting of 4 views (Registers, Disassembly, Stack and Backtrace):

img.png

Make sure you familiarize yourself with Symbols and shortcuts. Hilda also has support for Objective-C and various builtin snippets.

Contributing

Pull requests are more than welcome 😊. Make sure you run the tests before submission (xcrun python3 -m pytest).

If you need help or have an amazing idea you would like to suggest, feel free to start a discussion 💬.

The project is currently focused on iOS/macOS debugging. Thanks to LLDB's abstraction capabilities for Linux and Android, implementing support for these should be feasible with minimal changes.

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

hilda-3.8.1.tar.gz (876.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

hilda-3.8.1-py3-none-any.whl (74.5 kB view details)

Uploaded Python 3

File details

Details for the file hilda-3.8.1.tar.gz.

File metadata

  • Download URL: hilda-3.8.1.tar.gz
  • Upload date:
  • Size: 876.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.15

File hashes

Hashes for hilda-3.8.1.tar.gz
Algorithm Hash digest
SHA256 0315bd371cf53703a0ef3d36e5ed479d89362aab7afec1e40ac67efa708a553e
MD5 8fff5526aea78d997239d36058e7e48d
BLAKE2b-256 4f7cc21a7e958b77ee0cfb98bdbc295477d81896278fa799b8b7d1b0935b0b48

See more details on using hashes here.

File details

Details for the file hilda-3.8.1-py3-none-any.whl.

File metadata

  • Download URL: hilda-3.8.1-py3-none-any.whl
  • Upload date:
  • Size: 74.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.15

File hashes

Hashes for hilda-3.8.1-py3-none-any.whl
Algorithm Hash digest
SHA256 0a97f3fb65d528df4cd30f4e1b576d04aa375a2f3330dd89fa0a56b7b4a510f4
MD5 4b1ba11ab751ea3282b0bebc18aaea23
BLAKE2b-256 0b8d9693100e0f99e55131e8d616bcae03f90f7f2a4d49df093bd8c5a83278a9

See more details on using hashes here.

Supported by

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