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

Uploaded Python 3

File details

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

File metadata

  • Download URL: hilda-3.8.0.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.0.tar.gz
Algorithm Hash digest
SHA256 26f7ef445e0455862457d0d39049bbca6c76bd9be1e7d12c0cf2bdf7a1884302
MD5 bdf4cbf6292dd8f5b923c6d445654e24
BLAKE2b-256 bd5917353ab3082bfcd93925f2f26ea8e555c78dbc45d6ed393a231f2dc238a9

See more details on using hashes here.

File details

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

File metadata

  • Download URL: hilda-3.8.0-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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 24cb3b86879c9d96ef6cf36d7638b057fc69d8db4f2654355bebd7014998e5b1
MD5 cb5e91c975708efca48cb25d1697df73
BLAKE2b-256 1371ec2ff0c48a7e33ef7d1f75e2caf08e0f46ac917e22dbca4d475711ab1cfc

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