4.0 KiB
4.0 KiB
HexaWork - Byte Inspector
Overview
HexaWork is a Python Tkinter application for binary file inspection and analysis. It provides a hexadecimal viewer and advanced byte analysis capabilities.
Features
1. Hexadecimal View
- Three-column display: offset, hexadecimal values, and ASCII representation
- Uppercase hexadecimal values for better readability
- Monospace font for perfect alignment
- Horizontal and vertical scrollbars
2. Byte Analysis
Normal Order
- HEX: Hexadecimal representation of selected bytes
- DEC: Corresponding decimal value
- !HEX: Bitwise complement in hexadecimal
- !DEC: Bitwise complement in decimal
Reverse Order
- HEX: Hexadecimal representation of bytes in reverse order
- DEC: Decimal value of reverse order
- !HEX: Bitwise complement in hexadecimal
- !DEC: Bitwise complement in decimal
3. Flexible Selection
- Direct selection of hexadecimal values
- Full line selection including offset and ASCII
- Automatic analysis update on selection
4. ASCII Pattern Analysis
- Comprehensive file-wide ASCII text scanning
- Detects various patterns:
- Phone numbers
- Short letter sequences
- Alphanumeric codes
- Potential 3-letter abbreviations
- Interactive results popup
- Supports multiple pattern types
5. Advanced ASCII Pattern Recognition
- Comprehensive file-wide text scanning
- Multiple pattern detection:
- Possible Software Numbers (10-11 digits)
- Vehicle Identification Numbers (VIN)
- Potential Code Sequences
- Possible PIN Codes
- Unique pattern occurrence counting
- Interactive results display
- Supports complex alphanumeric pattern matching
6. Pattern Analysis Features
- Detailed pattern identification:
- Detects 3+ letter codes
- Finds long numeric sequences
- Highlights repeated patterns
- Occurrence frequency tracking
- User-friendly results popup
- Flexible pattern recognition
Installation
-
Requirements:
- Python 3.7 or higher
- Tkinter (usually included with Python)
-
Install dependencies:
pip install -r requirements.txt
Usage
- Run the program:
python main.py
- Features:
- Click "Select File" to choose a binary file
- Select bytes in the hex viewer (using mouse or keyboard)
- View automatic analysis in Normal Order and Reverse Order panels
- Use scrollbars to navigate large files
Examples
Byte Analysis
If you select bytes "4E 31":
-
Normal Order:
- HEX: 4E31
- DEC: 20017
- !HEX: [complement]
- !DEC: [decimal complement]
-
Reverse Order:
- HEX: 314E
- DEC: 12622
- !HEX: [complement]
- !DEC: [decimal complement]
Detailed Update History
Version 0.2.0 - Advanced Editing Capabilities
Hexadecimal Editing Enhancements
- Implemented sophisticated in-place hexadecimal editing
- Developed smart cursor positioning algorithm
- Maintains cursor location during edits
- Handles edits at any file location
- Preserved line formatting during byte modifications
- Added real-time hex value validation
File Modification Safety
- Introduced file size change warning mechanism
- Implemented confirmation dialog for file size alterations
- Ensured user awareness of potential file structure changes
Checksum Refinements
- Enhanced checksum calculation methods
- Supported variable-length byte sequences
- Implemented three distinct checksum types:
- 1-byte Sum Checksum
- 1-byte XOR Checksum
- 16-bit Checksum
- Provided hexadecimal representation of checksums
Technical Improvements
- Added comprehensive error logging
- Improved input validation
- Enhanced user interaction during file editing
Upcoming Features
- Large file performance optimization
- Advanced search functionality
- More configurable display options
- Comprehensive unit testing
Logging
- Log file: hexawork.log
- Records operations and errors for debugging
- Format: timestamp, module, level, message
Contributing
Feel free to:
- Report bugs
- Suggest improvements
- Submit pull requests
License
This project is under the MIT license.