From d774f87f7a7a316e017ebca873830c73777376bd Mon Sep 17 00:00:00 2001 From: DashyFox Date: Tue, 16 Apr 2024 15:58:35 +0300 Subject: [PATCH] BRUTEFORCE --- IR_DecoderRaw.cpp | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/IR_DecoderRaw.cpp b/IR_DecoderRaw.cpp index f368ccc..3a8d296 100644 --- a/IR_DecoderRaw.cpp +++ b/IR_DecoderRaw.cpp @@ -495,6 +495,34 @@ void IR_DecoderRaw::writeToBuffer(bool bit) isRecive = false; isAvailable = crcCheck(packSize - crcBytes, crcValue); + + if (!isAvailable) // Исправление первого бита // Очень большая затычка... + for (size_t i = 0; i < packSize; ++i) + { + for (int j = 0; j < 8; ++j) + { + // инвертируем бит + dataBuffer[i] ^= 1 << j; + + isAvailable = crcCheck(packSize - crcBytes, crcValue); + // обратно инвертируем бит в исходное состояние + + if (isAvailable) + { + Serial.println("!!!INV!!!"); + goto OUT_BRUTEFORCE; + } + else + { + dataBuffer[i] ^= 1 << j; + } + } + } + OUT_BRUTEFORCE:; + // { + // dataBuffer[0] |= 0b10000000; + // isAvailable = crcCheck(packSize - crcBytes, crcValue); + // } } }