Crates.io | hex-patch |
lib.rs | hex-patch |
version | 1.9.3 |
source | src |
created_at | 2024-07-04 01:36:03.873261 |
updated_at | 2024-11-09 05:34:21.604236 |
description | HexPatch is a binary patcher and editor with terminal user interface (TUI), it's capable of disassembling instructions and assembling patches. It supports a variety of architectures and file formats. Also, it can edit remote files via SSH. |
homepage | https://etto48.github.io/HexPatch/ |
repository | https://github.com/Etto48/HexPatch |
max_upload_size | |
id | 1291188 |
size | 9,405,223 |
HexPatch is a binary patcher and editor with terminal user interface (TUI), it's capable of disassembling instructions and assembling patches. It supports a variety of architectures and file formats. Also, it can edit remote files via SSH.
If you already have the requirements installed, you only need to run the following command:
cargo install hex-patch
On NetBSD, a package is available from the official repositories. To install it, simply run:
pkgin install hexpatch
If you prefer to build from source:
cd /usr/pkgsrc/devel/hexpatch
make install
On Arch Linux, a package is available from the official repositories:
pacman -S hexpatch
Clone the repository
git clone https://github.com/Etto48/HexPatch.git
cd HexPatch
Build and install
cargo install --path .
In order to connect via SSH, you can use the following command:
hex-patch --ssh <user>@<host>[:<port>] [--password <password>] [additional arguments]
If you don't specify a password, the client must be set up with keypair authentication and you must have a key in your ~/.ssh
directory.
Keys are searched in the following order:
The first key found will be used.
The following file formats are supported by default:
Other file formats can be added with plugins.
The following architectures are supported:
Read the settings documentation for more information.
HexPatch supports plugins written in Lua.
Plugins must be placed in the plugins
directory in hex-patch's configuration directory.
A different plugins directory can be specified with the --plugins
flag.
You can find more information about the Plugin Lua API here.
Help menu
Log
Text view
Jump to address
Jump to a virtual address with v0x
or to a file offset with 0x
. You can also jump to symbols and sections.
Open file
Run command
Find text
Find symbol
Insert Text
Patch
SHIFT + ENTER
on VSCode terminal. Please refer to this issue for more information. Unfortunately, this behavior is out of my control.jmp [rip+rax]
) in X86 architectures the program will crash. This problem depends on the keystone-engine
crate, and it's out of my control.Thanks to Lorenzo Colombini for the instruction highlighting.