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.2.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.2-py3-none-any.whl (74.6 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: hilda-3.8.2.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.2.tar.gz
Algorithm Hash digest
SHA256 743a2dca868049a415173ddc17993607039e0a4b9b36fc5b92f624462b4accf8
MD5 de8b91cfc4c25d7b7f03a5847e5e6dca
BLAKE2b-256 aafa93913b41971f305485fdd89cdf74b383db1e7cacdea5851082608248c67b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: hilda-3.8.2-py3-none-any.whl
  • Upload date:
  • Size: 74.6 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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 a9956a28bab972b4ae1d304f36698c4954b8c52625f8b0e76f70d79a2280964b
MD5 f0049704b149ca861a248ed9075a38e4
BLAKE2b-256 5765335a7542492a8193294126d8caa01985dd0f7396691e0da956371d9933f6

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