Skip to content

Troubleshooting

Jonathan Becker edited this page Jul 28, 2022 · 1 revision

This page outlines common issues faced by users on heimdall-rs, and attempts to help you troubleshoot them.

If you aren't able to solve your problem, please open an issue on GitHub.

Issues with Installation

If you are having trouble installing heimdall-rs, please make sure you're on a supported platform. Currently, heimdall-rs is only fully supported on Linux & MacOS.

If you are on a supported platform, please make sure you have the latest version of bifrost installed. You can follow the installation guide to install the latest version of bifrost.

If you are still having trouble installing heimdall-rs, please open an issue on GitHub.

Issues with Modules

Issues with heimdall-rs modules are usually caused by user error, but can also be caused by a bug in the module.

Always make sure you are using the latest version of heimdall-rs before anything else. Older versions may contain bugs or have incomplete features, which is why it is important to always update to the latest version, unless you are sure you know what you are doing.

Configuration Module

  • Config won't load

    Navigate to ~/.bifrost/ and make sure the config.toml file is present and is not empty.

    If you don't have a configuration file, run heimdall config and check to see if one has been created for you.

  • Config is empty

    Navigate to ~/.bifrost/ and make sure the config.toml file is present and is not empty. If it is empty, please delete it, run heimdall config and check to see if a valid configuration file has been created for you.

  • Setting wrong config value

    Make sure you are encapsulating your configuration values in quotes if they are strings. For example, you should do heimdall config "key" "value", rather than heimdall config key value. Doing this ensures the value is correctly read by the module.

Disassemble Module

  • Output directory wasn't created

    Output directories are created by heimdall-rs in the directory that is currently open in the terminal, unless specified otherwise with the --output flag.

    If you aren't using a custom output directory, Run the cd command and check the console for the output directory. If you are, ensure that the parent directory exists.

  • Disassembled output is incorrect

    Make sure you are using the latest version of heimdall-rs installed. If you do, make an issue and include the input and output of the disassemble command.

Decode Module

  • Decoded output is incorrect

    Make sure you are using the latest version of heimdall-rs installed. If you do, make an issue and include the input and output of the decode command.

  • Unexpected function signature

    This module uses samczsun's selector library to decode function signatures. Since selectors are only 4 bytes, the possibility of a collision is high.

    If you are using the --default flag, disable it and try again. When prompted, select the function signature you are expecting from the list of available selectors.

  • Input data wasn't decoded

    It's possible that the selector didn't have any matches in the selector library, or decoding types failed. For more verbose output, rerun the command with the -vvvvv flag.

If you are having trouble with a module, please open an issue on GitHub.