All Projects → echo-devim → Fhex

echo-devim / Fhex

Licence: gpl-3.0
A Full-Featured HexEditor compatible with Linux/Windows/MacOS

Programming Languages

assembler
53 projects

Projects that are alternatives of or similar to Fhex

Iaito
This project has been moved to:
Stars: ✭ 1,516 (+573.78%)
Mutual labels:  reverse-engineering, gui, qt5
Plasma
Plasma is an interactive disassembler for x86/ARM/MIPS. It can generates indented pseudo-code with colored syntax.
Stars: ✭ 2,956 (+1213.78%)
Mutual labels:  disassembler, capstone, reverse-engineering
Redasm
The OpenSource Disassembler
Stars: ✭ 1,042 (+363.11%)
Mutual labels:  disassembler, reverse-engineering, qt5
Globalprotect Openconnect
A GlobalProtect VPN client (GUI) for Linux based on OpenConnect and built with Qt5, supports SAML auth mode.
Stars: ✭ 143 (-36.44%)
Mutual labels:  gui, qt5
Pref
Portable Reverse Engineering Framework
Stars: ✭ 127 (-43.56%)
Mutual labels:  reverse-engineering, qt5
Mgbdis
Game Boy ROM disassembler with RGBDS compatible output
Stars: ✭ 131 (-41.78%)
Mutual labels:  disassembler, reverse-engineering
Imhex
🔍 A Hex Editor for Reverse Engineers, Programmers and people who value their retinas when working at 3 AM.
Stars: ✭ 11,744 (+5119.56%)
Mutual labels:  disassembler, reverse-engineering
Degate
Open source software for chip reverse engineering.
Stars: ✭ 156 (-30.67%)
Mutual labels:  reverse-engineering, gui
Xpeviewer
PE file viewer/editor for Windows, Linux and MacOS.
Stars: ✭ 144 (-36%)
Mutual labels:  disassembler, reverse-engineering
Apkstudio
Open-source, cross platform Qt based IDE for reverse-engineering Android application packages.
Stars: ✭ 2,246 (+898.22%)
Mutual labels:  reverse-engineering, qt5
Vegvisir
A browser based GUI for **LLDB** Debugger.
Stars: ✭ 189 (-16%)
Mutual labels:  reverse-engineering, gui
Sonyheadphonesclient
A {Windows, macOS, Linux} client recreating the functionality of the Sony Headphones app
Stars: ✭ 123 (-45.33%)
Mutual labels:  reverse-engineering, gui
Proxmark3gui
A cross-platform GUI for Proxmark3 client | 为PM3设计的图形界面
Stars: ✭ 122 (-45.78%)
Mutual labels:  gui, qt5
Git Cola
git-cola: The highly caffeinated Git GUI
Stars: ✭ 1,787 (+694.22%)
Mutual labels:  gui, qt5
Detect It Easy
Program for determining types of files for Windows, Linux and MacOS.
Stars: ✭ 2,982 (+1225.33%)
Mutual labels:  disassembler, reverse-engineering
Gtirb
Intermediate Representation for Binary analysis and transformation
Stars: ✭ 190 (-15.56%)
Mutual labels:  disassembler, reverse-engineering
Edb Debugger
edb is a cross-platform AArch32/x86/x86-64 debugger.
Stars: ✭ 2,019 (+797.33%)
Mutual labels:  capstone, reverse-engineering
Qml Creative Controls
QML controls for creative applications and creative coding
Stars: ✭ 199 (-11.56%)
Mutual labels:  gui, qt5
Bin2llvm
A binary to LLVM translator
Stars: ✭ 108 (-52%)
Mutual labels:  disassembler, reverse-engineering
Handwriter
A smart program to convert digital document to hand-written document
Stars: ✭ 108 (-52%)
Mutual labels:  gui, qt5

Fhex - A Full-Featured HexEditor

This project is born with the aim to develop a lightweight, but useful tool. The reason is that the existing hex editors have some different limitations (e.g. too many dependencies, missing hex coloring features, etc.).

screenshot screenshot2 screenshot3

This project is based on qhexedit2, capstone and keystone engines. New features could be added in the future, PRs are welcomed.

Features

  • Chunks loader - Used to load only a portion of large files without exhaust the memory (use alt + left/right arrows to move among chunks). Please note that in chunk mode, all the operations (e.g. search) applies only to the current chunk except for file save (the entire file is saved). However, each time you edit a chunk, save it before to move to another chunk, otherwise you will lose your changes.
  • Search and replace (UTF-8, HEX, regex, reverse search supported) [CTRL + F]
  • Colored output (white spaces, ASCII characters, 0xFF, UTF-8 and NULL bytes have different colors)
  • Interpret selected bytes as integer, long, unsigned long [CTRL + B]
  • Copy & Paste [CTRL + C and CTRL + V]
  • Copy selected unicode characters [CTRL + Space]
  • Zeroing all the selected bytes [Delete or CTRL + D]
  • Undo & Redo [CTRL + Z and CTRL + Y]
  • Drag & Drop (Hint: Drag&Drop two files to diff them)
  • Overwrite the same file or create a new one [CTRL + S]
  • Goto offset [CTRL + G]
  • Insert mode supported in order to insert new bytes instead to overwrite the existing one [INS]
  • Create new instances [CTRL + N]
  • Basic text viewer for the selected text [CTRL + T]
  • Reload the current file [F5]
  • Compare two different files at byte level
  • Browsable Binary Chart (see later for details) [F1]
  • Hex - Dec number converter [F2]
  • Hex String escaper (e.g from 010203 to \x01\x02\x03) [F3]
  • Pattern Matching Engine (see later for details)
  • Disassebler based on Capstone Engine [F4]
  • Assembler based on Keystone Engine [F4]
  • Zoom-Out/Zoom-In bytes view (CTRL + Up/Down or CTRL + -/+)
  • Shortcuts for all these features

Pattern Matching Engine

Fhex can load at startup a configuration file (from ~/fhex/config.json) in JSON format with a list of strings or bytes to highlight and a comment/label to add close to the matches.

Examples:

{
    "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 press CTRL + P At the end, Fhex will show also an offset list with all the result references. Note: Labels with comments are added only if the window is maximized, if labels are not displayed correctly please try to run pattern matching again.

Binary Chart

Fhex has the feature to chart the loaded binary file (Note: In order to compile the project, now you need also qt5-charts installed on the system). The y-axis range is between 0 and 255 (in hex 0x0 and 0xff, i.e. the byte values). The x-axis range is between 0 and the filesize.

The chart plots the byte values of the binary file and let you focus only on the relevant sections. For example, if in a binary file there is an area full of null bytes, you can easily detect it from the chart.

License

GPL-3

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].