Files
KAT/Cargo.toml
T
KaraZajac 754af4134a
Deploy to Pages / build (push) Waiting to run
Deploy to Pages / deploy (push) Blocked by required conditions
v1.3.0: Add 14 keyfob protocols (8 ProtoPirate + 6 Flipper-ARF), fix KeeLoq overflow
Brings KAT to 32 protocol decoders. Ported from the ProtoPirate reference and the
D4C1-Labs/Flipper-ARF firmware:

  ProtoPirate (8): Kia V7, Ford V1, Ford V2, Ford V3, Chrysler V0, Honda Static,
  Honda V1, Land Rover V0.
  Flipper-ARF (6): Toyota, Land Rover RKE, Mazda Siemens, BMW CAS4,
  Porsche Cayenne, PSA2.

Each decoder is gated (CRC / checksum / fixed markers / frame structure) so it
cannot false-match existing protocols; every previously-decoding IMPORTS capture
decodes unchanged. Real-capture decodes added for Ford V3 (LDV T80), Honda Static
(Honda), Toyota (Camry NRZ variant), and PSA2 (Groupe PSA, serial 0x99EB25); the
rest are validated by encode/decode round-trip and synthetic-frame tests.

Also fixes a debug-only underflow panic in keeloq_common::keeloq_decrypt
(15 - r underflowed; now wrapping_sub to match the reference's unsigned wrap;
release behavior unchanged).

Adds per-protocol docs, updates the README protocol table, capture metadata
(encoding / RF / encryption), make-suggestion mapping, and CHANGELOG.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01JEfaKqzB3T4qsrybwfEi73
2026-06-23 20:08:54 -04:00

64 lines
1.1 KiB
TOML

[package]
name = "kat"
version = "1.3.0"
edition = "2021"
description = "Keyfob Analysis Toolkit - HackRF/RTL-SDR signal capture, decode, and transmit (HackRF only)"
authors = ["KAT Team"]
license = "BSD-3-Clause"
[dependencies]
# TUI
ratatui = "0.29"
crossterm = "0.28"
# HackRF library
libhackrf = "0.1"
# RTL-SDR (receive-only support, e.g. RTL433 hardware)
rtl-sdr-rs = "0.3"
# Signal processing
num-complex = "0.4"
# Async runtime
tokio = { version = "1.43", features = ["full"] }
# Serialization
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
toml = "0.8"
# INI config
configparser = "3"
# Config directory
dirs = "5.0"
# Time handling
chrono = { version = "0.4", features = ["serde"] }
# Error handling
anyhow = "1.0"
thiserror = "2.0"
# Logging
tracing = "0.1"
tracing-subscriber = { version = "0.3", features = ["env-filter"] }
# Bit manipulation
bitvec = "1.0"
# TTY detection
atty = "0.2"
[build-dependencies]
pkg-config = "0.3"
[patch.crates-io]
# Vendored with ARM fix: c_char is u8 on ARM, so the upstream transmute fails
libhackrf = { path = "vendor/libhackrf" }
[profile.release]
opt-level = 3
lto = true