Infrared Radiations protocols

Mirage includes components allowing to manipulate Infrared Radiations signals, along with other components implementing some attacks targeting IR. This page presents some of those components, and provides some usage examples.


Please note the fact that this protocol stack is partially implemented. It’s mainly included as a proof of concept for now.

Infrared Radiations modules

Mirage includes many modules allowing to analyse the security of IR communications. The available modules and the links to the corresponding documentation pages are listed in the following table :





This module displays useful informations about a given interface.



This module sniffs the Infrared Radiations signals.



This module injects the Infrared Radiations signals.


Importing the IR software components

Every software component described in this page can be easily imported from a module or a scenario environment using the following statement :

from mirage.libs import ir

Then, every component is available using the ir namespace:

packet = ir.IRDenonPacket(code=0x11223344, size=32)

Interacting with the protocols

Mirage can use an IRMA Device to interact with the protocol. Each device can be used to send and/or receive IR signals, and possibly provide some specific features by providing shared methods. The supported Devices are listed here.

To manipulate a device, you need to use the corresponding Emitter and/or Receiver with an interface related to you device. The following page explains how to use these software components.

IR signals

Mirage manipulates IR signals as child classes of IRPacket (mirage.libs.ir_utils.packets.IRPacket), which is itself a child class of Packet (mirage.libs.wireless_utils.packets.Packet. The following list describes the available packets and provides some links to the corresponding documentation pages :

The provided packets allows to encode and decode signals from different manufacturers and protocols:

  • NEC

  • Sony

  • RC5 / RC6

  • Dish

  • Sharp

  • JVC

  • Sanyo

  • Mitsubishi

  • Samsung

  • LG

  • Whynter

  • Aiwa

  • Panasonic

  • Denon