Skip to main content

Cross-platform tool for reading, writing, and analyzing magnetic stripe cards using the MSR605 reader/writer

Project description

MSR605 Card Reader/Writer

Version Python GUI License Issues Code Coverage

🌟 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

  1. Connect your MSR605 device
  2. Insert a card
  3. Click 'Read' to read card data
  4. Edit the data if needed
  5. 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 configuration
  • keyring.json: Secure storage for encryption keys
  • logging.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 logs directory for detailed error information
  • Search the GitHub Issues for similar problems
  • Create a new issue with detailed reproduction steps

Development

Getting Started

  1. Fork the repository
  2. Clone your fork
  3. 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

  1. Create a feature branch (git checkout -b feature/AmazingFeature)
  2. Commit your changes (git commit -m 'Add some AmazingFeature')
  3. Push to the branch (git push origin feature/AmazingFeature)
  4. 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

🏷️ 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

msr605_tool-2.4.0.tar.gz (92.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

msr605_tool-2.4.0-py3-none-any.whl (95.8 kB view details)

Uploaded Python 3

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

Hashes for msr605_tool-2.4.0.tar.gz
Algorithm Hash digest
SHA256 8c662a49e7ed6aeaf6d33f9266025ffdaa6f394312e5e936df3c7066368c7817
MD5 5b33e39210e8cb068804671cb609dcbd
BLAKE2b-256 a7a1d592fdfd7c0b06ce4d3dce267e14c39413095dcb621066b3ef3e76b4ad23

See more details on using hashes here.

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

Hashes for msr605_tool-2.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 8e70099e7e8ae77a5d36ce4532b9424e98aa11adbaf2af06a46e220c44b0a492
MD5 5e949d2e3d511fa71abf26e53a241224
BLAKE2b-256 0447f5edcdc14f582c66d152ee1e2a4d48183b364ed749bf3a8c89d9b2ded1d0

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page