Skip to content
Glitchboi edited this page Sep 14, 2026 · 2 revisions

EMVy Controller — Wiki

Suite funcional de pruebas de seguridad para tarjetas bancarias (chip EMV vía PC/SC, NFC/contactless, banda magnética y BomberCat), con TUI, GUI de escritorio y CLI.

Desarrollado por Glitchboi — Seguridad desde México para todos.


Software en BETA

Funciona y está probado (238 tests + hardware real), pero la API, la CLI y los formatos de datos pueden cambiar entre versiones.

Uso responsable

Solo para pruebas de seguridad autorizadas con tarjetas propias o de laboratorio. La suite lee y explora; los valores de "terminal" son de laboratorio y no generan transacciones válidas. No la uses contra tarjetas ajenas ni para fraude.


¿Qué es?

EMVy Controller descubre y explora todo lo accesible en una tarjeta de pago y ayuda a perfilar terminales/POS. Tres interfaces (TUI, GUI, CLI) sobre un mismo núcleo puro:

  • Descubre aplicaciones EMV (PSE/PPSE/AIDs), FCI, GPO (AIP/AFL), registros, contadores (GET DATA) y pistas de banda magnética.
  • Analiza la seguridad: AIP/AUC, lista de CVM, ODA (SDA/DDA/CDA, claves débiles, verificación RSA del certificado del emisor).
  • Organiza el trabajo en proyectos con variables (perfil de terminal EMV + libres) y perfiles de terminal preconfigurados.
  • Escribe en tarjetas de laboratorio y fuzzea terminales (magspoof, registros EMV mutados, NDEF malformado).
  • BomberCat: lector EMV contactless, passthrough APDU, magspoof, emulación NDEF/EMV y flasheo.
  • PoCs: framework con runner + plugins y plantillas ISO 8583 (sign-on / compra / reverso).
  • Busca flags automáticamente en cada byte devuelto (CTF).

¿Cómo funciona? (en una línea)

Toda la lógica EMV se escribe contra una función send (Transceiver = Callable[[APDU|bytes], Response]), no contra un objeto con estado. Así el mismo código EMV funciona por PC/SC, NFC o BomberCat sin cambios, y es testeable con una tarjeta simulada. Ver Arquitectura.


Empezar en 3 pasos

# 1. Instalar (desde fuente)
git clone https://github.com/Glitchboi-sudo/EMVy_Controller.git
cd EMVy_Controller && uv venv .venv && uv pip install --python .venv -e '.[dev,tui]'

# 2. Conectar un lector y verificar
./emvyctl.py readers

# 3. Capturar y analizar una tarjeta
./emvyctl.py dump --save cap1
./emvyctl.py analyze

¿Solo quieres la GUI sin instalar Python? Descarga el AppImage de Releases. Ver Instalación.


Índice de la Wiki

Clone this wiki locally