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. .. warning:: 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 : .. include:: list.ir-modules.rst Importing the IR software components ------------------------------------- Every software component described in this page can be easily imported from a :doc:`module ` or a :doc:`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 :doc:`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 : * `IRNECPacket `_ * `IRSonyPacket `_ * `IRRC5Packet `_ * `IRRC6Packet `_ * `IRDishPacket `_ * `IRSharpPacket `_ * `IRJVCPacket `_ * `IRSanyoPacket `_ * `IRMitsubishiPacket `_ * `IRSamsungPacket `_ * `IRLGPacket `_ * `IRWhynterPacket `_ * `IRAiwaPacket `_ * `IRPanasonicPacket `_ * `IRDenonPacket `_ 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