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):
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
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
26f7ef445e0455862457d0d39049bbca6c76bd9be1e7d12c0cf2bdf7a1884302
|
|
| MD5 |
bdf4cbf6292dd8f5b923c6d445654e24
|
|
| BLAKE2b-256 |
bd5917353ab3082bfcd93925f2f26ea8e555c78dbc45d6ed393a231f2dc238a9
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
24cb3b86879c9d96ef6cf36d7638b057fc69d8db4f2654355bebd7014998e5b1
|
|
| MD5 |
cb5e91c975708efca48cb25d1697df73
|
|
| BLAKE2b-256 |
1371ec2ff0c48a7e33ef7d1f75e2caf08e0f46ac917e22dbca4d475711ab1cfc
|