áááá¯ááºážááŒá±á¬ááºážá¡á áááºáááºážá¡áá»á¬ážá á¯ááẠLogitech á០ááŒáá¯ážáá²á·áá®ážáá¯ááºáá»á¬ážááŸáá·áº ááŒáœááºáá»á¬ážááᯠá¡áá¯á¶ážááŒá¯ááŒáááºá áá»áœááºá¯ááºááá¯á·áá áá¬ážááŸááºáá»á¬ážááᯠáá áºáááºááŒááºááŒáá·áºááœááºážáá¬ááœáẠRaccoon áá¯á¶ááŒá¯á¶áá±ážá¡ááœá²á·á០áá»áœááºážáá»ááºáá°áá»á¬ážá áá»áœááºá¯ááºááá¯á·ááẠááááááá¯ááºááᯠááŒáá¯ážáá²á·áá®ážáá¯ááºáá»á¬ážá áá¯á¶ááŒá¯á¶áá±ážááá¹ááá¬ážáá»á¬ážááᯠáá»á±á¬áºááŒááºááẠáááºáá»áŸáááºáá²ááááºážáᯠááááááá¯ááºááá¯áá±ážáá²á·áááºá áá±á·áá¬ááŸá¯á áááá¯áá¬ááá¯ááºáᬠáá»áá¯á·ááœááºážáá»ááºáá»á¬ážááŸáá·áº áá±á¬á·ááºáá²ááºá¡ááŸá¬ážá¡ááœááºážáá»á¬ážááᯠááá·áºááœááºážáá±áá¬ááᯠáááºáá±á¬ááºááŒáá·áºááŸá¯ááœáá·áºáá±ážáááºá ááŒááºáá±á¬ááºááŸá¯ á¡á±á¬ááºááœáẠáá»áœááºá¯ááºááá¯á· áááŸááááºá
áá¬ááŒá±á¬áá·áº Logitech
áá»áœááºá¯ááºááá¯á·áá¡ááŒááºá¡áá Logitech ááá·áºááœááºážááá·áºáááááá¬áá»á¬ážááẠá¡áááºá¡ááœá±ážá¡ááŒáá·áºáá¯á¶ážááŸáá·áº á¡áááºááŒá±áá¯á¶ážááŒá
áºáááºá áá»áœááºá¯ááºááá¯á·ááœááºááŸááá±á¬á
ááºáá
á¹á
ááºážá¡áá»á¬ážá
á¯ááẠLogitech ááŒá±ááŸááºážáá»ááºá¡áá±á«áºá¡ááŒá±áá¶áááºá
Logitech Unifying áá¶á·ááá¯ážááŸá¯ááŒáá·áº Dongle áááºáá¶áááááá¬
áá®ážáá¯ááºááẠááá¯ááºááá¯ááºáá°áá»á¬ážá¡ááœáẠááááºážá¡áá»ááºá¡ááẠá¡áááºážá¡ááŒá
áºáá
áºáᯠááŒá
áºáá¬ááá¯ááºáááºá ááŒá
áºááá¯ááºááŒá±ááŸááá±á¬ ááŒáááºážááŒá±á¬ááºááŸá¯ááᯠááá·áºááœááºážá
ááºážá
á¬ážááŒá®áž Logitech ááẠáá¯á¶ááŒá¯á¶áá±ážááᯠááá¯á
áá¯ááºáá²á·ááẠ- ááŒáá¯ážáá²á·áá®ážáá¯ááºá áá±áá®ááá¯áá»ááºáááºááœáẠAES128 áá¯ááºááŸááºááŒááºážááá¯ááºáᬠalgorithm ááᯠá¡áá¯á¶ážááŒá¯áá²á·áááºá á€á¡ááŒá±á¡áá±ááœáẠááá¯ááºááá¯ááºáá°áá
áºáŠážááŸáááá¯ááºáááºáᯠááááá¯á¶ážáááºááŒááºáá°ááá»ááºááŸá¬ áá»áááºáááºááŸá¯áá¯ááºáá¯á¶ážáá¯ááºáááºážá¡ááœááºáž áá±áá®ááá¯áá»ááºáááºáá
áºáá¯ááŸáá
áºááá·áº áá±á¬á·á¡áá»ááºá¡áááºáá»á¬ážááᯠááŒá¬ážááŒááºááá°ááŒááºážááŒá
áºáááºá áá±á¬ááºáá¯á¶ážááœááºá ááá·áºááœáẠáá±á¬á·áá
áºáá¯ááŸááá«áá áááºááẠáá®ážáá¯ááºá áá±áá®ááá¯á¡áá»ááºááŒááŸá¯áá»á¬ážááᯠááŒá¬ážááŒááºááŒá®áž áááºážááá¯á·ááᯠá
á¬ááŸááºááá¯ááºáá«áááºá ááá¯á·áá±á¬áºá á¡áá¯á¶ážááŒá¯áá°ááẠáá®ážáá¯ááºááᯠáá±á«ááºážá
ááºážááẠááŸá¬ážááŸá¬ážáá«ážáá«áž (ááá¯á·ááá¯ááº) áááºááá·áºá¡áá«áá»áŸ áááŸáááá±á¬ááºááŒá
áºááŒá®áž á
áááºááºáááºáá±áá®ááá¯ááŸáááá·áº áááºáá¬áá
áºáŠážááẠá¡áá»áááºá¡ááŒá¬ááŒá®áž á
á±á¬áá·áºááá¯ááºážááááºááŒá
áºáááºá ááá¯á·á¡ááŒááºá ááŒá¬ážááŒááºáá¯ááºáá±á¬ááºááŸá¯ááá¯ááºááá¯ááºá á¡áá¬á¡á¬ážáá¯á¶ážááẠááá¯ážááŸááºážáááºááá¯ááºá 2019 áá¯ááŸá
ẠááœááºáááœáẠáá±á¬ááºáá¯á¶ážáá±á·áá¬áá»ááºááœáẠáá¯á¶ááŒá¯á¶áá±ážáá»áœááºážáá»ááºáá° Markus Meng á á¡áœááºááá¯ááºážááœáẠáá¯ááºáá±áá²á·áááºá
Nordic Semiconductor á០NRF24 SoC ááá¯á¡ááŒá±áá¶á Logitech dongle ááá¯á¶ááŒá¯á¶áá±ážáá±á·áá¬ááŸá¯á¡ááŒá±á¬ááºážááŒá±á¬áá«áááºá ááŒá áºáá±á¬ááºážááŒá áºááá¯ááº, áá±áá®ááá¯ááá¯ááºážááá¯ááºááá¯ááºáá ááŒáá«á áá¯á·á
áá±áá®ááá¯áá»ááºáááºáá áºáá¯ááœáẠáá±áᬠâáá»á¶âáá¯á¶
áá±áá®ááá¯á¡áá»ááºááŒááŸá¯á á¡áá»áááº-ááŒáááºááŸá¯ááºážááœá²ááŒááºážá
áááºááŒá¬ááŸá¯á¡ááœááºá áá»áœááºá¯ááºááá¯á·ááẠáá±á¬ááºá
ááºááœá²ááŒááºážá
áááºááŒá¬ááŸá¯áá¯ááºááœáẠBlade-RF áááááá¬ááᯠá¡ááŒá±áá¶á SDR áááºáá¶áááááá¬ááᯠá¡áá¯á¶ážááŒá¯áá²á·ááẠ(á€á¡ááŒá±á¬ááºážááá¯áááºáž áááºáááºááŸá¯ááá¯ááºáá«áááºá
SDR Blade-RF áááááá¬
ááá¯á·áá±á¬áẠáá áºáá»á áºáááºá¡áá»ááºááŒááŸá¯áá¯ááºáá±á¬ááºááŒááºážáááºážááá¬áá»á¬ážááᯠá¡áá¯á¶ážááŒá¯á ááá¯ááºážááŒá¬ážá áááºááŒá¬ááá¯ááºááá·áº á¡áááºá¡áááºááŒáááºááŸá¯ááºážááŒáá·áº áá±áá®ááá¯á¡áá»ááºááŒááŸá¯á áá±ážáá¯á¶áá áºáá¯á¶ááᯠááŸááºáááºážáááºááá¯ááºááŒá±ááá¯áááºáž ááá·áºááœááºážá ááºážá á¬ážáá¬ážáá«áááºá
áá¯ááŸá¬ážáááºááá±ážááŸááºážááœáẠáá±áá®ááá¯ááŒáááºááŸá¯ááºážáá»á¬ážááá¯ááºáᬠááŒááºáááºáá±á¬áºáááŸááº
2,4 GHz ááŸáá¯ááºážááŸá¯ááºážá ááº
á¡ááœá¬á¡áá±ážááŸá á áœááºáááºááŸá¯áááºáááºážáá»ááºááẠá¡áá±á¬áºáá±áž ááŸá¯ááºááœá±ážáááºá á€á¡áá¬áá»á¬ážááŒá¬ážááŸá Logitech ááẠááŒáááºááŸá¯ááºážááá¯ááºáá»á±á¬áá®ááœá±ááŒá áºá á±áá±á¬ á¡ááºáááá¯áá®áááºáá»á¬ážááŸáá·áºá¡áá° NRF24 transceiver ááŸá Enhanced ShockBurst áááá¯ááá¯áá±á¬ááᯠá¡áá¯á¶ážááŒá¯ááŒááºážááŒáá·áº áá¯á¶ááŒááºá áááºáá»áááŒá®áž áááºááŒáááºáá±á¬áááºáá¶ááŸá¯ááᯠáá±ážá áœááºážááá¯ááºáá²á·áááºá
Band áá
áºáá¯ááŸá áá»ááºáááºáá»á¬ážááᯠáááºááŸááºáá¬ážááá·áºá¡ááá¯ááºáž integer MHz áá¬áá°ážáá»á¬ážááœáẠáá¬ážááŸááá¬ážáá«áááºá
áá®ážáá¯ááºáá±áá®ááá¯á¡áá»ááºááŒááŸá¯á¡áá»áááºááá¯ááºá á¬ážááŒá¯
áááºáá¶áá°ááẠá§áá·áºáá¶ááŒááºážá áááºá ááºáááá¬áááᯠá¡áá¯á¶ážááŒá¯áááºá ááá¯á·ááŒá±á¬áá·áº ááá¯á·ááœáŸááºáá±á¬áááºáááºááœáẠá¡ááŒáá¯á¡ááá¯á·ááŸáá·áº ááááºá á¬á¡ááá¯ááºážáá«ááŸááááºá áá°áá¶áá¶áá¶ááá¯ááºáááºááŸááá±á¬áá¯ááºááᯠá¡áá¯á¶ážáááŒá¯áá«á áá±áá¬ááá¯ááºáááºááᯠAES128 á¡ááºáááá¯áá®áááºááŒáá·áº áá¯ááºááŸááºáá¬ážáááºá
áá±áá°áá»á¡á¬ážááŒáá·áºá Logitech ááŒáá¯ážáá²á·áá®ážáá¯ááºá áá±áá®ááá¯ááŒá¬ážáá¶á¡á¬áž ááááºážááááºážááá¯ááºáᬠááááºážááááºážáá»á¬áž ááŸáá·áº ááŒáááºááŸá¯ááºážá¡ááá¯áẠááá¯ááºáá»á±á¬áá®ááœá±ááŒá áºá¡á±á¬áẠáá¯á¶ážáá¯á¶ážáá»á¬ážáá»á¬áž áááŒáá¯ááºáááºáááºážá¡ááŒá ẠáááºááŸááºááá¯ááºáááºá ááá¯ááá¯áááºááŸá¬ áááºáááºá¡áá áºáá áºáá¯á á®ááᯠáá¯ááºááœáŸáá·áºááẠáá®ážáá¯ááºáá¯ááºááœáŸáá·áºáá°ááẠáá»ááºáááºááᯠááŒá±á¬ááºážáá±ážáááºá áááºáá¶áá°ááẠáá¯ááºááœáŸáá·áºáá»ááẠááá¯á·ááá¯áẠááŒáááºááŸá¯ááºážáá»ááºáááºááᯠááŒáá¯ááááá±á¬áºáááºáž áááºážááá¯á·áá á¬áááºážááá¯áᬠáááá«áááºá áááºáá¶áá°ááŸáá·áº áá¯ááºááœáŸáá·áºáá°ááẠááŸáááŸáá¯ááºážáá¬ážáá±á¬ ááŒáááºááŸá¯ááºážááᯠááŸá±á¬ááºááœááºážááŒááºážááŸáá·áº áá¬ážáá±á¬ááºááŒááºážááá¯ááºáᬠá¡ááºáááá¯áá®áááºáá»á¬ážá ááá¯ááá¯áá±á¬ááºážááœááºáá±á¬ ShockBurst á¡ááá¡ááŸááºááŒá¯ááŸá¯ ááá¹ááá¬ážáá»á¬ážááŒá±á¬áá·áº áá»ááºáááºááœáẠááœá±á·áá¯á¶áá«áááºá áá»ááºáááºá á¬áááºážááẠáááºááŒáááºááŸá¯ááŸááááŸáááᯠáá»áœááºá¯ááºááá¯á· áá á¯á¶á ááºážááá±ážáá«á áááºážáááŒá±á¬ááºážáá²ááŸá¯ááẠááŒáááºááŸá¯ááºážááá¯ááºáá»á±á¬áá®ááœá±ááŒá áºá á±áá±á¬ á¡ááºáááá¯áá®áááºááŒá±á¬áá·áºááŒá áºááá¯ááºáááºá ááŒáááºááŸá¯ááºážáá¯ááºááŒááºážáááºážáááºáž (áááºáááºááŸá¯ááŒáááºááŸá¯ááºážá pseudo-random tuning) á¡ááá¯ááºážá¡ááŒá¬ážá ááŒáááºááŸá¯ááºážáááºážááŒá áºááᯠá¡áá¯á¶ážááŒá¯ááŒááºážááœáẠááœá±á·ááŒááºááá¯ááºáá«áááºá
ááá¯á·ááŒá±á¬áá·áºá á¡áá»áááºááŒáááºááŸá¯ááºážááá±áá»á¬ááá±áá¬ááŸá¯á¡ááŒá±á¡áá±áá»á¬ážá¡á±á¬ááºááœááºá áá®ážáá¯ááºá¡áá»ááºááŒááŸá¯áá»á¬ážá¡á¬ážáá¯á¶ážááᯠá¡á¬ááá¶áá»ááºáááºáá¶áááŸáá
á±áááºá ááá¯ááºááá¯ááºáá°ááẠá¡áá»áááºáá»á¬ážá
áœá¬ááá¯á¡ááºáá±á¬ 84 ááŒáááºááŸá¯ááºážááá¬ážááœááºáá
áºáá¯áá¯á¶ážááᯠá¡áááºáááŒááºá
á±á¬áá·áºááŒáá·áºááẠááá¯á¡ááºáá«áááºá USB áá±á¬á·áá¯ááºáá°ááŸá¯á¡á¬ážáááºážáá»áẠ(CVE-2019-13054) ááẠá¡áááºááŒá±á¬áá·áº á€ááœáẠááŸááºážáááºážáá¬áááº
ááŒá¿áá¬ááᯠá¡ááœááºážááá¯ááºážááá± ááŒáá·áºáááºá
áá»áœááºá¯ááºááá¯á·ááá±á·áá¬ááŸá¯á¡ááœááºá áá»áœááºá¯ááºááá¯á·ááẠáá»áœááºá¯ááºááá¯á·ááááºááŸá Logitech K330 áá®ážáá¯ááºáá»á¬ážááŸáá·áº Logitech Unifying dongle áá áºáá¯ááᯠááœá±ážáá»ááºáá²á·áááºá
Logitech K330
áá®ážáá¯ááºá¡ááœááºážááá¯ááºážááᯠááŒáá·áºáá¡á±á¬ááºá áá±á·áá¬áááºáá¯ááºá¡ááœá²á·áá±á«áºááŸáá áááºáááºá á¬ážá áá¬áá±á¬ááºážááá·áºá¡áá»ááºááŸá¬ Nordic Semiconductor á០SoC NRF24 áá»á áºááºááŒá áºáááºá
Logitech K24 ááŒáá¯ážáá²á·áá®ážáá¯ááºáá¯ááºáá±á«áºááŸá SoC NRF330
áá¬ááºážáá²ááºááẠá¡ááœááºážááŸááºáá¬ááºááœáẠáááºááŸáááŒá®áž á á¬áááºááŒááºážááŸáá·áº á¡ááŸá¬ážááŸá¬ááŒááºááŒááºáž ááá¹ááá¬ážáá»á¬ážááᯠááááºáá¬ážáááºá áá¶ááá±á¬ááºážá áœá¬áá²á firmware ááᯠopen source ááœáẠááá¯ááºáá±ááá±ážáá«á ááá¯á·ááŒá±á¬áá·áºá Logitech dongle receiver á á¡ááœááºážááá¯ááºáž á¡ááŒá±á¬ááºážá¡áá¬áá»á¬ážááᯠáá±á·áá¬ááẠáá áºáááºá០ááŒá¿áá¬ááᯠáá»ááºážáááºááẠáá¯á¶ážááŒááºáá²á·áááºá
dongle áááºáá¶áá°á "á¡ááœááºážááá¹áá¬" áááºá¡ááœááºá áááºáááºá á¬ážá áá¬áá±á¬ááºážáááºá dongle ááẠá¡ááœááºááá° ááŒá¯ááºáááºááá¯ááºááŒá®áž áááºážááŸá®ážááŒá®ážáá¬áž NRF24 ááœááºááŸáááŸá¯ááᯠáááºáááºáá¬ážáá±á¬ USB ááááºážáá»á¯ááºáááááá¬ááŒáá·áº áááºáá±á¬ááºáᬠUSB áááºááŒááºážááŸáá±á¬ áááá¯ááááºáá¬á០ááá¯ááºááá¯ááºáá« ááŸá áºáá»áá¯ážáá¯á¶ážááᯠááŒááºáááºáááá¯ááááºááŒá¯áá¯ááºááá¯ááºáá«áááºá
á¡áááºáá¬ááá«áá² Logitech dongle
Firmware ááá¯á¡áá¯á¶ážááŒá¯á á¡ááºááááºáá¯ááºááẠá
á¶ááá¹ááá¬ážáá
áºáá¯ááŸááá±á¬ááŒá±á¬áá·áºááŒá
áºáááºá
ááŒá®ážáá²á·áááº- firmware RQR_012_005_00028.bin ááᯠFirmware Update Tool á¡ááá®áá±ážááŸááºážáááá¯ááºáááºá០áá¯ááºáá°áá²á·áááºá áááºážá ááŒá¶á·ááá¯ááºááŸá¯ááᯠá
á
áºáá±ážáááºá dongle controller ááᯠáá±áááºááŒáá·áº áá»áááºáááºáá¬ážáááºá
Logitech dongle ááᯠChipProg 48 áááá¯ááááºáá¬ááŸáá·áº áá»áááºáááºááẠááŒáá¯áž
Firmware á ááá¯ááºáá¬ááŸá¯ááᯠááááºážáá»á¯ááºáááºá áááºážá¡á¬áž ááááºážáá»á¯ááºáá°á ááŸááºáá¬ááºááœáẠá¡á±á¬ááºááŒááºá áœá¬ áá¬ážááŸááá²á·ááŒá®áž ááŸááºáááºá áœá¬ á¡áá¯ááºáá¯ááºáááºáá áá®ážáá¯ááºááŸáá·áº áá±á¬ááºá áºááᯠLogitech Unifying ááŸáá áºááá·áº dongle ááŸáá·áº áá»áááºáááºáá¬ážáááºá Firmware á¡ááœáẠcryptographic á¡áá¬á¡ááœáẠááá¹ááá¬ážáá»á¬áž áááŸááááŒáá·áº ááŒá¯ááŒááºáá¬ážáá±á¬ ááá¯ááºážáá²ááºááᯠá á¶ááœááºážáá¶ááŸá¯ ááá¹ááá¬ážááᯠá¡áá¯á¶ážááŒá¯á á¡ááºáá¯ááºáá¯ááºááá¯ááºáá«áááºá áá¯áá±áááááºááœááºáá»ááºá¡ááœááºá á¡ááŸá¬ážááŸá¬ááŒááºááŒááºážááẠá€áááºážá¡á¬ážááŒáá·áº ááá¯ááá¯ááŒááºáááºáá±á¬ááŒá±á¬áá·áº áááá¯ááááºáá¬ááŸáá·áº áá¯ááºááá¯ááºážááá¯ááºáá¬áá»áááºáááºááŸá¯ááᯠá¡áá¯á¶ážááŒá¯áá¬ážáá«áááºá
áá¬ááºážáá²áẠáá¯áá±ááááŸáá·áº á¡áá¯á¶ážááŒá¯áá° ááá·áºááœááºážááŸá¯á¡áá±á«áº ááá¯ááºááá¯ááºááŒááºážá
NRF24 áá»á áºááºááᯠááá¯ážáᬠHarvard áááá¯áá¬áááºáá¬ááŸá Intel 8051 ááœááºááŒá°áᬠá¡á°ááá¯ááºáá±á«áºááœáẠá¡ááŒá±áá¶á áá®ááá¯ááºážáá¯ááºáá¬ážáááºá core á¡ááœááºá transceiver ááẠperipheral device áá áºáá¯á¡ááŒá Ạáá¯ááºáá±á¬ááºááŒá®áž ááŸááºáá¯á¶áááºá¡á á¯áá áºáá¯á¡áá±ááŒáá·áº address space ááœáẠáá±áá¬áá»áá¬ážáááºá áá»á áºááºááŸáá·áº áááºážááŒá áºáá¯ááºáá»á¬ážá¡ááœáẠá á¬ááœááºá á¬áááºážáá»á¬ážááᯠá¡ááºáá¬áááºáá±á«áºááœáẠááœá±á·ááŸáááá¯ááºáá±á¬ááŒá±á¬áá·áº Firmware ááᯠááŒá¯ááºáááºááŸá¬ ááááºáá²áá«á reverse engineering áá¬áá¡ááœááºážá áá»áœááºá¯ááºááá¯á·ááẠáá±áá®ááá¯áá»ááºáááºá០áá®ážá ááááá±áá¬ááᯠáááºáá¶áááŸáááŒááºážá¡ááœáẠáá¯ááºáá±á¬ááºáá»ááºáá»á¬ážááᯠáá±ááá¹ááááŒá¯ááŒá®áž USB áá»ááºááŸá¬ááŒááºááŸáá áºááá·áº host ááá¯á· áá±ážááá¯á·áááºá¡ááœáẠHID áá±á¬áºáááºá¡ááŒá áºááá¯á· ááŒá±á¬ááºážáá²áá±ážáá«áááºá áá±ážááá¯ážáá¯ááºááᯠááááºážáá»á¯ááºááŸá¯ááŒá¬ážááŒááºááŒááºážá ááááºážáááºážááŒááºážááŸáá·áº áá°ááá¯ááºáá±á¬ááºááŸá¯á¡ááŒá±á¬ááºážá¡áá¬ááᯠááŒááºáááºáááºáá±á¬ááºááŒááºážá¡ááŒáẠáá¯ááºáá±á¬ááºáá»ááºááá¯ááºáá¬áá¯ááºáá»á¬ážáá«áááºááá·áº á¡ááá²á·áááºááá¯áá®ááááºá á¬áá»á¬ážááœáẠááá·áºááœááºážáá¬ážáááºá
áá±áá®ááá¯áá»ááºáááºá០dongle ááŸáááŸááá±á¬áá±á¬á·ááᯠááŸáááºááŒááºáž ááá¯á·ááá¯áẠáá¯ááºááœáŸááºááŒááºáž packet á¡á¬áž áá¯ááºááŸááºáá¬ážááŒá®áž áá¯á¶ááŸáẠHID á¡á
á®áááºáá¶á
á¬á¡ááŒá
áºááá¯á· ááŒá±á¬ááºážáá²áᬠáá¯á¶ááŸááºáá®ážáá¯ááºá០USB áá»ááºááŸá¬ááŒááºááá¯á· áá±ážááá¯á·áááºá áá±á·áá¬ááŸá¯ááá
áºá
áááºáá
áºááá¯ááºážá¡áá±ááŒáá·áºá áá»áœááºá¯ááºááá¯á·á
áááºáááºá
á¬ážáá¯á¶ážááŒá
áºáá±á¬ HID á¡á
á®áááºáá¶á
á¬ááá
áºá
áááºáá
áºááá¯ááºážááŸá¬ ááœááºážáá¶ááŒááºáááºááŸá¯á¡áá¶áá»á¬ážáá
áºááá¯ááºááŸáá·áº áá±á¬á·á
ááááá¯ááºáá»á¬ážáá«ááŸááá±á¬ 6 bytes áááºážáá»ááºážáá«ááŸááá±á¬ HID á¡á
á®áááºáá¶á
á¬á áá
áºá
áááºáá
áºááá¯ááºážááŒá
áºááẠ(ááá¯ážáá¬ážáááºá¡ááœááºá HID á¡ááŒá±á¬ááºáž á¡áá»ááºá¡áááº
HID á¡á á®áááºáá¶á á¬ááœá²á·á ááºážáá¯á¶-
// Keyboard HID report structure.
// See https://flylib.com/books/en/4.168.1.83/1/ (last access 2018 december)
// "Reports and Report Descriptors", "Programming the Microsoft Windows Driver Model"
typedef struct{
uint8_t Modifiers;
uint8_t Reserved;
uint8_t KeyCode[6];
}HidKbdReport_t;
HID ááœá²á·á ááºážáá¯á¶ááᯠáááºáá¶áá°áᶠáááá¯á·áá® áá»ááºáá»ááºážááẠááá¯ážááœááºážááá¯ááºáá±á¬ áá¯ááºááẠááááºážáá»á¯ááºááŒá®áž áááºááá¯áá®ááœáẠáá°áááºáž HID áá±áᬠ8 bytes ááᯠáááá¹áá°áá°ážáᬠááŸááºážáááºážáá±á¬ á á¬áá¬ážááŒáá·áº áá±áá®ááá¯áááºáá»ááºáááºááá¯á· ááá¯á·áá±ážáááºá áá¯ááºááœáẠá€áá²á·ááá¯á·ááŒááºááááº-
//~~~~~~~~~ Send data via radio ~~~~~~~~~~~~~~~~~~~~~~~~~>
// Profiling have shown time execution ~1.88 mSec this block of code
SaveRfState(); // save transceiver state
RfInitForTransmition(TransmitRfAddress); // configure for special trnsmition
hal_nrf_write_tx_payload_noack(pDataToSend,sizeof(HidKbdReport_t)); // Write payload to radio TX FIFO
CE_PULSE(); // Toggle radio CE signal to start transmission
RestoreRfState(); // restore original transceiver state
//~~~~~~~~~ Send data via radio ~~~~~~~~~~~~~~~~~~~~~~~~~<
áá±ážááœááºáá»ááºáááºááᯠááŒááºááŸááºááŸá¯á¡ááŒááºááŸá¯ááºážááŸáá·áº áááºáááºááœá²á·á ááºážáá¯á¶á á¡áá»áá¯á·áá±á¬áááá±áááá¹ááá¬áá»á¬ážááŒáá·áº áá»áœááºá¯ááºááá¯á·áááºááŸááºáá¬ážáá±á¬ ááŒáááºááŸá¯ááºážááŒáá·áº á á¯á ááºážáá¬ážáááºá
áá»á
áºááºááŸá transceiver ááááºáááºááŸá¯
áá±ážááœááºáá»ááºáááºááŸá áááºááá¯ááºáá±á«ááºááœá²ááá·áºá¡áá»ááºááŒááŸá¯ááᯠáááºáá¯ááºáá¬ážáááºá
áááºáááºááᯠáá±ážáááºáá»ááºáááºááá¯á· áá±ážááá¯á·ááŒá®ážáá±á¬ááºá ááá¯ážááœááºážáá¬ážáá±á¬ áá¯ááºááẠtransceiver áá¡ááŒá±á¡áá±ááᯠááŒááºáááºáá±á¬ááºááŸáá á±áááºá ááá¯áá°á firmware áá¡ááŒá±á¡áá±ááœáẠáá¯á¶ááŸááºá¡ááá¯ááºážááŒááºáááºáá¯ááºáá±á¬ááºáááºá¡áááºááá·áºááŒá áºáá±áá«ááŒá®á
ááŒáááºááŸá¯ááºážááŸáá·áº á¡áá»áááº-ááŒáááºááŸá¯ááºáž ááá¯ááááºážáá»á¬ážááœááºá áá±ážááœááºáá»ááºáááºááẠá€áá²á·ááá¯á·ááŒá áºáááº-
áá±ážááœááºáá»ááºáááºá Spectral ááŸáá·áº time-frequency ááá¯ááºá á¬ážááŒá¯ááŸá¯
ááŒá¯ááŒááºáá¬ážáá±á¬ firmware ááŒáá·áº NRF24 áá»á áºááºááá¯ááºáá±á¬ááºáá»ááºááᯠá ááºážáááºáááºá¡ááœááºá NRF24 áá»á áºááºááŒáá·áº ááá¯áẠmodule áá áºáá¯áá¡ááŒá±áá¶ááŒáá·áº ááŒá¯ááŒááºáá¬ážáá±á¬ Firmware áá«ááŸááá±á¬ Logitech dongle ááŸáá·áº ááŒáá¯ážáá²á·áá®ážáá¯ááºááŸáá·áº áááºáá¶áááááá¬áá«áááºááá·áº stand áá áºáá¯ááᯠá á¯á ááºážáá¬ážáá«áááºá
Logitech ááŒáá¯ážáá²á·áá®ážáá¯áẠáá±áá®ááᯠá¡áá»ááºáጠááŒá¬ážááŒáẠáááºáááºáž
NRF24 á¡ááŒá±áᶠmodule
áá¯á¶áááºážáá»á¬ážááœááºá áá®ážáá¯ááºááẠáá¯á¶ááŸááºáááºáááºáá±áááŒáá·áº áááºážááᯠLogitech dongle ááá¯á· áá»áááºáááºááŒá®ážáá±á¬ááºá áá±ážáááºáá±áá®ááá¯áá»ááºáááºááŸá áá±á¬á·áááºááŒááºážáá»á¬ážááŸáá·áºáááºáááºááá·áº ááŸááºážáááºážáá±á¬áá±áá¬áá¯ááºááœáŸáá·áºááŸá¯ááŸáá·áº áááºááá±áá®ááá¯áá»ááºááŸá¬ááŒááºááŸá áá¯ááºááŸááºáá¬ážáá±á¬áá±áá¬áá»á¬ážá áá¯á¶ááŸááºáá¯ááºááœáŸáá·áºááŸá¯ááᯠáá»áœááºá¯ááºááá¯á· ááœá±á·ááŸááá²á·áááºá ááá¯á·ááŒá±á¬áá·áºá áá»áœááºá¯ááºááá¯á·ááẠá¡áá¯á¶ážááŒá¯áá°áá®ážáá¯ááºááá·áºááœááºážááŸá¯ááᯠááá¯ááºááá¯ááºááŒá¬ážááŒááºáá±ážá áœááºážááá¯ááºáááº-
áá®ážáá¯ááºááá·áºááœááºážááŒááºážááᯠááŒá¬ážááŒááºááŒááºážáááááº
ááá¯ážááœááºážáá¬ážáá±á¬áá¯ááºááẠdongle firmware ááááºáááºááŸá¯ááœáẠá¡áááºážáááºááŸá±á¬áá·áºááŸá±ážááŸá¯ááᯠááááºáááºáá±ážáááºá ááá¯á·áá±á¬áº áááºážááá¯á·ááẠáá¯á¶ážá áœá²áá°áá»á¬áž áááááŒá¯ááááẠá¡ááœááºáá±ážáááºáááºá
áááºá áááºáá°ážááá¯ááºáááºá¡ááá¯ááºážá Unifying áááºážááá¬ááŸáá·áºááá¯ááºáááºáá±á¬ Logitech áá®ážáá¯ááºááᯠá€ááá¯ááºááá¯ááºááŸá¯ vector á¡ááœáẠá¡áá¯á¶ážááŒá¯ááá¯ááºáááºá ááá¯ááºááá¯ááºááŸá¯ááẠLogitech áá®ážáá¯ááºá¡áá»á¬ážá á¯áá«ááŸááá±á¬ Unifying áááºáá¶áá°á¡á¬áž áá áºááŸááºáá¬ážáá±á¬ááŒá±á¬áá·áºá áááºážááẠáá®ážááŒá¬ážáá®ážáá¯ááºáá±á¬áºáááºááŸáá·áº áá®ážááŒá¬ážááŒá áºáááºá
áá±á¬ááºáá»ááº
áá±á·áá¬ááŸá¯á ááááºáá»á¬ážá ááá¯ááºááá¯ááºáá°áá»á¬ážá áá°ááá¬ážááá·áº ááŒááºááœááºážááᯠá¡áá¯á¶ážááŒá¯ááẠá¡ááŒá¶ááŒá¯áá¬ážáááº- á¡áááºá áááºáá¬ááẠáá¬ážáá±á¬ááºá¡á¬áž Logitech ááŒáá¯ážáá²á·áá®ážáá¯ááºá¡ááœáẠdongle receiver ááŒáá·áº á¡á á¬ážááá¯ážáá«áá ááá¯á·áá±á¬ááºááœáẠáá¬ážáá±á¬ááºáá¡áá±á¬áá·áºáá»á¬ážááá¯á· á áá¬ážááŸááºáá»á¬ážááᯠáááºáááºááŸá¬ááœá±ááá¯ááºáááºááŒá áºáááºá á¡áá»áá¯ážáááºáá»á¬áž áá±á¬á·áááºááŒááºážááá¯áááºáž ááá¯ážááœááºážááá¯ááºáááºááᯠááá±á·áá«ááŸáá·áºá ááá¯ááá¯áááºááŸá¬ áá¬ážáá±á¬ááºá ááœááºáá»á°áá¬ááœáẠáááá¬ážáá¯ááºááᯠáá¯ááºáá±á¬ááºááẠááááºáá²ááŒá±á¬ááºáž ááá¯ááá¯áááºá
á¡áááºá ááá¯ááºááá¯ááºáá°ááẠUSB ááŸáá áºááá·áº Logitech dongle á firmware ááᯠáá¯ááºáááẠááœááºážáá¶ááŒááºáááºááá¯ááºáááºááá¯áá«áá ááá¯á·áá±á¬ááºá á¡áá®ážáááºáá±áá¬áá°áá¬ážáá±á¬ dongles áá»á¬ážááŸá áááºááẠrepeaters ááœááºáááºáá áºáá¯ááᯠáááºáá®ážááá¯ááºááŒá®áž ááá¯á ááá·áºááŸá¯á¡ááœá¬á¡áá±ážááᯠááá¯ážááŒáŸáá·áºááá¯ááºáááºá "ááœá±ááŒá±ážáá»ááºážáá¬áá±á¬" ááá¯ááºááá¯ááºáá°ááẠá¡áááºáá®ážáá»ááºážá¡áá±á¬ááºá¡áŠá០áá®ážáá¯ááºááá·áºááœááºážááŒááºážááŸáá·áº ááá¯ááºáá»á¬ážááá¯ááẠ"áá¬ážáááº" ááá¯ááºáá±á¬áºáááºáž ááœá±ážáá»ááºááŸá¯á áá áºáá»á¬ážááŸááá±á¬ áá±ááºáá®áá±áá®ááᯠá§áá·áºáá¶áááááá¬áá»á¬ážá ááŒáááºááŸá¯ááºážáá»áááºááŸááá»áááºááá¯á¡áá»áááºááá¯ááŸáá·áº áááºážááœáŸááºááŸá¯ááŒáá·áºáá¬ážáá±á¬ á¡ááºáá¬áá¬áá»á¬ážáá«ááŸááá±á¬ á¡áá±ážááŒá®ážáá±á¬ áá±áá®ááá¯áááºáá¶áááááá¬áá»á¬ážááẠáááºážááá¯á·á¡á¬áž ááœáá·áºááŒá¯áá±ážáááºááŒá áºáááºá áá®ážáá¯ááºááá·áºááœááºážááŸá¯ááᯠ"áá¬ážáááºáááº" ááŸáá·áº á¡áá®ážáá¬ážááŸá á¡áá±á¬ááºá¡áŠááŸááẠááá¯ááºáá»á¬ážááᯠááŸáááºáá«á
ááá±á¬áºáááºááŸááºáááºáá±áá®ááá¯áá á¹á ááºážáááááá¬
Logitech áá®ážáá¯ááºá ááŒáá¯ážáá²á·áá±áá¬ááá¯á·ááœáŸááºááŸá¯áá»ááºáááºááᯠáá±á¬ááºážá áœá¬áá¬ááœááºáá¬ážáá±á¬ááŒá±á¬áá·áº ááœá±á·ááŸááááá·áº ááá¯ááºááá¯ááºááŸá¯ vector ááẠááá¯ááºááá¯ááºáá°á¡á¬áž á¡ááœááºááá·áºáááºáá¬ážááá·áº áááºáá¶áá°áá¶ááá¯á· áá¯ááºááá¯ááºážááá¯ááºáá¬áááºáá±á¬ááºááœáá·áº ááá¯á¡ááºáá«áááºá á€ááá á¹á ááœáẠáá áºáá¯áááºážáá±á¬ áá¬ááœááºááŸá¯áááºážáááºážááŸá¬ áááºáá¶áá°áááºáá¬á¡ááœáẠáá»áŸáá¯á·ááŸááºá á¬ááŸááºáá¬ááœááºááŸá¯ááá¹ááá¬ážáá»á¬ážááᯠá¡áá¯á¶ážááŒá¯áááºááŒá áºááŒá®áž á¥ááá¬á¡á¬ážááŒáá·áº áááºáá¶áá°áááºááŒááºážááŸá áááºáá¬ážáá±á¬ ááá¯ááºážáá²á áááºááŸááºááᯠá á áºáá±ážááŒááºážááŒá áºáááºá ááá¯á·áá±á¬áº áá¶ááá±á¬ááºážá áœá¬áá²á NRF24 ááẠáááºážááᯠááá¶á·ááá¯ážáá±ážááá·áºá¡ááŒáẠáááºááŸáá ááºáá á¹á ááºážáááá¯áá¬á¡ááœááºáž á¡áá¬á¡ááœááºááᯠá¡áá±á¬ááºá¡áááºáá±á¬áºááẠáááŒá áºááá¯ááºáá±á áá±á¬áºááŒáá¬ážáá±á¬ ááá¯ááºááá¯ááºááŸá¯ááœá±ážáá»ááºááœáá·áºááẠáááºážááá¯á·áᶠáá¯ááºááá¯ááºážááá¯ááºáá¬áááºáá±á¬ááºááœáá·áº ááá¯á¡ááºáá±á¬ááŒá±á¬áá·áº áááºá dongle áá»á¬ážááᯠááá¯á áá¯ááºáá«á
Raccoon Security ááẠáááºááœá±á·áá»áá±á¬ á¡áá»ááºá¡áááºáá¯á¶ááŒá¯á¶áá±ážá cryptographyá circuit designá reverse engineering ááŸáá·áº low-level software áááºáá®ážááŸá¯áááºáááºááœáẠVulcan Research and Development Center á០áá»áœááºážáá»ááºáá°áá»á¬ážá¡ááœá²á·ááŒá áºáááºá
source: www.habr.com