This project is developed based on qhexedit2, capstone, and keystone engines and is still actively under development. More features will be added in future versions.
Function introduction
1. Block loading: Load large files without consuming memory;
2. Search and replace (supports UTF-8, hexadecimal, regular expressions, and reverse search) [CTRL + F];
3. Support highlighting of output data with color;
4. Parse the selected byte data into integer, long integer, and unsigned integer [CTRL + B];
5. Copy and paste [CTRL + C and CTRL + V];
6. Copy the selected Unicode characters [CTRL + Space];
7. Fill the selected bytes with zeros [Delete] or [CTRL + D];
8. Undo & Redo [CTRL + Z] and [CTRL + Y];
9. Drag and drop functionality supported;
10. Overwrite the same file or create a new file [CTRL + S];
11. Jump to offset [CTRL + G];
12. Insert mode supports inserting new bytes instead of overwriting existing data [INS];
13. Create a new instance [CTRL + N];
14. Text viewer to view selected text [CTRL + T];
15. Reload the current file [F5];
16. Compare byte information of two different files;
17. Browse binary chart data [F1];
18. Hexadecimal conversion [F2];
19. Hex string escape [F3];
20. Support for pattern matching engine;
21. Disassembler based on Capstone engine [F4];
22. Assembler based on Keystone engine [F4];
23. Zoom in/out on byte view (CTRL + Up/Down] or [CTRL + -/+]);
Tool Download
Source Code Acquisition
Researchers can clone the source code of this project locally using the following command:
git clone https://github.com/echo-devim/fhex.git
Compiled Code Acquisition
In addition, researchers can directly access the [Releases page】to get the precompiled project.
Pattern Matching Engine
Fhex can load a JSON configuration file at startup from "~/fhex/config.json", which needs to include a list of strings or byte data to be highlighted, as well as the tags to be matched.
Example:
{ "PatternMatching": [ { "string": "://www.", "color": "rgba(250,200,200,50)", "message": "Found url" }, { "bytes": "414243", "color": "rgba(250,200,200,50)", "message": "Found ABC" } ] }
Press [CTRL + P] to activate the pattern matching feature, after processing, Fhex will display a list of offsets for reference by researchers.
Binary chart
Fhex also provides a way to load binary files in chart form (note: you also need to install qt5-charts locally when compiling the project code), where the y-axis range is 0-255 (corresponding to 0x0-0xff), and the x-axis range is 0 to the file size.
This chart can draw the byte values of binary files, allowing us to focus only on the relevant parts. For example, if there is an area full of null bytes in a binary file, we can easily detect it from the chart.
Screenshot of tool operation
License Agreement
The development and release of this project follow the GPL-3 open source license agreement.
Project address
Fhex:【GitHub link】

评论已关闭