Pycrate

signaling

Python library of encoders and decoders for telecom protocols and file formats.

A Python toolkit for parsing and building telecom protocol messages, with bundled ASN.1 and CSN.1 compilers and ready-made modules for 3GPP signaling.

Pycrate is a Python library that eases the development of encoders and decoders for binary protocols and file formats used across mobile networks. It ships with ASN.1 and CSN.1 compilers and includes prebuilt modules for many 3GPP and ETSI signaling messages.

What it does

  • Provides ASN.1 and CSN.1 compilers that turn standards specifications into Python codecs.
  • Ships parsers and serialisers for SS7/MAP, NAS (EPS and 5GS), S1AP, NGAP, RRC, LTE-RRC, and many other 3GPP/ETSI protocols.
  • Includes utilities for handling SIM/USIM files, mobile identities, and binary message manipulation.
  • Used as a building block for fuzzers, signalling generators, and protocol research tooling.

Best for

  • Telecom security researchers building custom protocol tooling.
  • Engineers writing fuzzers or test harnesses for 3GPP signalling.
  • Auditors decoding captured signalling payloads programmatically.

Protocols: MAP, CAP, TCAP, SCCP, S1AP, NGAP, RRC, LTE-RRC, NAS-EPS, NAS-5GS

Inputs: ASN.1 / CSN.1 specifications, Binary protocol payloads, PCAP-derived hex blobs

Outputs: Decoded Python objects, Re-encoded binary messages, Generated codec modules