Carregar ficheiros para "/"

This commit is contained in:
2024-12-04 00:53:51 -08:00
commit 130d70b3d2
3 changed files with 1237 additions and 0 deletions

150
README.md Normal file
View File

@ -0,0 +1,150 @@
# 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
1. Requirements:
- Python 3.7 or higher
- Tkinter (usually included with Python)
2. Install dependencies:
```bash
pip install -r requirements.txt
```
## Usage
1. Run the program:
```bash
python main.py
```
2. 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.

1084
main.py Normal file

File diff suppressed because it is too large Load Diff

3
requirements.txt Normal file
View File

@ -0,0 +1,3 @@
tkinter
logging
binascii