Fhex is afull-featured hex editor,Compatible with Linux/Windows/MacOS .
Fhex It was born with the intention of developing a lightweight but useful tool, since existing hex editors have some different limitations (e.g. too many dependencies, lack of hex coloring features, etc.).
The project is based on qhexedit2, capstone and keystone engines.
feature
- Chunk Loader – for loading only part of a large file without running out of memory (use alt+left/right arrows to move between chunks). Note that in block mode, all operations (e.g. search) only apply to the current block, except file save (which saves the entire file). However, every time you edit a block, please save it before moving to another block, or you will lose your changes.
- Search and replace (support UTF-8, hexadecimal, regular expression, reverse search)[
CTRL + F
] - Colored output (spaces, ASCII characters, 0xFF, UTF-8 and NULL bytes have different colors)
- Interpret selected bytes as integer, long, unsigned long [
CTRL + B
] - copy and paste [
CTRL + C
和CTRL + V
] - Copy selected unicode characters [
CTRL + Space
] - all selected bytes [
Delete
或CTRL + D
]return to zero - undo and redo [
CTRL + Z
和CTRL + Y
] - drag and drop (hint:Drag and drop both files to differentiate them)
- Overwrite the same file or create a new one [
CTRL + S
] - go to offset [
CTRL + G
] - Insert mode is supported to insert new bytes instead of overwriting existing ones [
INS
] - create new instance [
CTRL + N
] - Basic text viewer for selected text [
CTRL + T
] - reload current file [
F5
] - Compare two different files at the byte level
- Browsable binary graphs (see below for details)[
F1
] - Hexadecimal – Decimal Number Converter [
F2
] - Hex string escapes (eg from 010203 to \x01\x02\x03)[
F3
] - Pattern matching engine (see below for details)
- Based on Capstone Engine [
F4
]the resolver - Assembler based on the Keystone engine [
F4
] - Shrink/enlarge byte view (
CTRL + Up/Down
orCTRL + -/+
)
pattern matching engine
Fhex can load configuration files in JSON format at startup (from~/fhex/config.json
) containing a string or byte list to highlight and a comment/label to add around the match.
example:
{
"PatternMatching":
[
{
"string" : "://www.",
"color" : "rgba(250,200,200,50)",
"message" : "Found url"
},
{
"bytes" : "414243",
"color" : "rgba(250,200,200,50)",
"message" : "Found ABC"
}
]
}
To activate pattern matching, pressCTRL + P
.
Finally, Fhex also displays a list of offsets with all resulting references. Notice:The annotated label will only be added when the window is maximized, if the label does not appear correctly, try running the pattern match again.
binary graph
Fhex has functionality to graph loaded binaries (Notice:In order to compile the project, you now also needqt5-charts
installed on the system). The y-axis range is between 0 and 255 (hex 0x0 and 0xff, ie byte values). The x-axis ranges between 0 and the file size.
The graph plots the byte values of the binary, allowing you to focus only on the relevant parts. For example, if there is a region full of null bytes in a binary file, it can be easily detected from the graph.
compilation
The project has the following dependencies: qt5-charts (package: libqt5charts5-dev in debian/ubuntu), capstone (optional), and keystone (optional).On linux, you can check if you have the mandatory libraryldconfig -p | grep -i qt5charts
By default, Fhex is compiled with the MINIMAL profile, which means it does not include capstone and keystone.This option can be changed, removing the relevant row fromfhex.pro
.
In order to build Fhex on Linux, execute the following commands:
mkdir build
cd build
qmake ..
make -j$(nproc)
#Fhex #Homepage #Documentation #Downloads #Full #Featured #Hex #Editor #News Fast Delivery