Cross-platform tool for reading, writing, and analyzing magnetic stripe cards using the MSR605 reader/writer
Project description
MSR605 Card Reader/Writer
🌟 Overview
MSR605 Card Reader/Writer is a sophisticated, open-source GUI application designed for reading, writing, and managing magnetic stripe cards using the MSR605 hardware. This powerful tool provides comprehensive card data management with advanced decoding and analysis capabilities.
What's New in v2.4.0
New Features
- Daily Log Rotation: Automatic log file management with daily rotation
- Enhanced Error Handling: More detailed error messages and recovery options
- Performance Optimizations: Faster card reading and writing operations
- New Card Formats: Support for additional card formats and standards
- UI Improvements: Streamlined interface and better dark mode support
Bug Fixes
- Fixed issue with special characters in card data
- Resolved database locking problems
- Fixed memory leaks in long-running sessions
- Addressed UI freezing during card operations
- Corrected error in track data parsing
Dependencies
- Upgraded to PyQt6.6
- Updated cryptography library to latest version
- Added new dependencies for enhanced functionality
Documentation
- Completely revised user manual
- Added API documentation
- Improved code comments
- New troubleshooting guides
Features
Advanced Functions
- Dedicated window for advanced card operations
- Tabbed interface with detachable panels
- Detailed track data parsing and display with syntax highlighting
- Support for multiple encryption standards (AES-256, DES, 3DES)
- Multiple Card Format Support: Full support for both ISO 7811 and ISO 7813 standards
- Hardware Security Module (HSM) integration
- Real-time data validation and sanitization
- Comprehensive audit logging
- Plugin system for extending functionality
Core Features
- Read and write magnetic stripe cards (tracks 1, 2, and 3)
- ISO 7811: Support for alphanumeric track 1 and numeric tracks 2/3
- ISO 7813: Support for financial transaction cards with enhanced validation
- Real-time card data visualization
- Multi-language support
- Cross-platform compatibility (Windows, Linux, macOS)
- Logging system with daily rotation
- Erase Card Data: Erase card data (all tracks or selective) with confirmation
- Advanced Card Data Decoding: Advanced card data decoding with field extraction and formatting
- Granular Track-Level Controls: Granular track-level controls with real-time preview
- End-to-End Encryption: End-to-end encryption with hardware acceleration
- Batch Processing: Batch processing for multiple cards
- Data Visualization and Statistics: Data visualization and statistics
Track Tools
- Set/Clear/Check Leading Zero with undo/redo support
- Configure Bits Per Inch (BPI) with presets for common standards
- Adjust Bits Per Character (BPC) with validation
- Raw data read/write capabilities with hex editor
- Track simulation and testing with pattern generation
- Checksum calculation and validation
- Data scrambling and descrambling
- Track data comparison and diff tools
Data Management
- SQLite database with encryption
- Comprehensive card data viewer with advanced filtering
- Duplicate Card Detection: Duplicate card detection with fuzzy matching
- Export to Multiple Formats: Export to multiple formats (CSV, JSON, XML, Excel)
- Advanced search with regular expressions
- Data import/export with validation
- Database backup and restore functionality
- Data anonymization for testing
Card Data Decoding
- Track 1: Card number, name, expiration, service code with validation
- Track 2: Card number, expiration, service restrictions with LRC validation
- Track 3: Financial data, encryption data with format validation
- Raw hex, binary, and ASCII data views with syntax highlighting
- Custom parsing rules with regular expressions
- Data validation against industry standards (ISO 7811, ISO 7813)
- Format-preserving encryption for sensitive data
Prerequisites
System Requirements
- OS: Windows 10/11, Linux (Ubuntu 22.04+, Debian 11+, Fedora 36+)
- Python: 3.10, 3.11, or 3.12
- Hardware: MSR605 Card Reader (USB or Serial)
- Dependencies: See PREREQUISITES.md for detailed requirements
Recommended Hardware
- Processor: Dual-core 2.0 GHz or better
- Memory: 4GB RAM minimum (8GB recommended)
- Storage: 100MB available space
- Display: 1366x768 resolution minimum
Installation
Prerequisites
- Python 3.10, 3.11, or 3.12
- MSR605 Hardware Reader
- USB connection
Windows
# Clone the repository
git clone https://github.com/Nsfr750/MSR605.git
cd MSR605
# Create a virtual environment
python -m venv venv
.\venv\Scripts\activate
# Install dependencies
pip install -r requirements.txt
# Run the application
python main.py
Linux/macOS
# Clone the repository
git clone https://github.com/Nsfr750/MSR605.git
cd MSR605
# Create a virtual environment
python3 -m venv venv
source venv/bin/activate
# Install dependencies
pip install -r requirements.txt
# Run the application
python3 main.py
Usage
Basic Operations
- Connect your MSR605 device
- Insert a card
- Click 'Read' to read card data
- Edit the data if needed
- Click 'Write' to write to a new card
Advanced Features
- Use the database tab to manage card records
- Export/import card data in various formats
- Create and run custom scripts for automation
- Configure application settings in the settings menu
Configuration
Configuration Files
config.ini: Main application configurationkeyring.json: Secure storage for encryption keyslogging.conf: Logging configuration
Key Configuration Options
Database
- Type: SQLite (default), PostgreSQL, or MySQL
- Encryption: Enable/disable database encryption
- Backup: Automatic backup settings
Device
- Connection: Auto-detect or manual port selection
- Baud Rate: Communication speed (default: 9600)
- Timeout: Operation timeout in seconds
Security
- Encryption: Enable/disable data encryption
- Key Storage: File-based or OS keyring
- Access Control: User permissions and roles
UI
- Theme: Light, Dark, or System
- Layout: Customize panel positions
- Fonts: Customize application fonts
Troubleshooting
Common Issues
- Device Not Detected: Verify the device is properly connected and powered on
- Permission Issues (Linux): Add user to dialout group and apply changes
- Dependency Problems: Update pip and reinstall requirements
Getting Help
- Check the
logsdirectory for detailed error information - Search the GitHub Issues for similar problems
- Create a new issue with detailed reproduction steps
Development
Getting Started
- Fork the repository
- Clone your fork
- Set up a development environment
Development Setup
# Install development dependencies
pip install -r requirements-dev.txt
# Install pre-commit hooks
pre-commit install
# Run tests with coverage
pytest --cov=msr605 tests/
# Format code (automatically runs on commit)
black .
# Lint code (automatically checks on commit)
flake8
# Type checking
mypy msr605/
Building Documentation
# Install documentation dependencies
pip install -r docs/requirements.txt
# Build HTML documentation
cd docs
make html
# View documentation
start _build/html/index.html # Windows
xdg-open _build/html/index.html # Linux
open _build/html/index.html # macOS
Contributing
- Create a feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
See CONTRIBUTING.md for detailed contribution guidelines.
License
MSR605 Card Reader/Writer is licensed under the GNU General Public License v3.0. See LICENSE for the full license text.
Support & Community
Getting Help
Stay Connected
Support the Project
- 💖 GitHub Sponsors
- 💰 Patreon
- 💳 PayPal
🏷️ Version Information
Current Version: 2.4.0 (Stable) Release Date: July 20, 2025
What's New in v2.3.0
- Added voice command support
- New plugin system
- Dark/light theme support
- Performance improvements
- Enhanced security features
System Requirements
- Python 3.10, 3.11, or 3.12
- Windows 10/11 or Linux
- MSR605 Hardware Reader
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file msr605_tool-2.4.0.tar.gz.
File metadata
- Download URL: msr605_tool-2.4.0.tar.gz
- Upload date:
- Size: 92.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8c662a49e7ed6aeaf6d33f9266025ffdaa6f394312e5e936df3c7066368c7817
|
|
| MD5 |
5b33e39210e8cb068804671cb609dcbd
|
|
| BLAKE2b-256 |
a7a1d592fdfd7c0b06ce4d3dce267e14c39413095dcb621066b3ef3e76b4ad23
|
File details
Details for the file msr605_tool-2.4.0-py3-none-any.whl.
File metadata
- Download URL: msr605_tool-2.4.0-py3-none-any.whl
- Upload date:
- Size: 95.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8e70099e7e8ae77a5d36ce4532b9424e98aa11adbaf2af06a46e220c44b0a492
|
|
| MD5 |
5e949d2e3d511fa71abf26e53a241224
|
|
| BLAKE2b-256 |
0447f5edcdc14f582c66d152ee1e2a4d48183b364ed749bf3a8c89d9b2ded1d0
|