Просмотр исходного кода

Add Holtek AM modulation protocol, update readme

MX 2 лет назад
Родитель
Сommit
49d32f8ed6
4 измененных файлов с 81 добавлено и 22 удалено
  1. 13 10
      README.md
  2. 1 1
      subbrute_i.h
  3. 62 10
      subbrute_protocols.c
  4. 5 1
      subbrute_protocols.h

+ 13 - 10
README.md

@@ -30,8 +30,11 @@ We do not condone illegal activity and strongly encourage keeping transmissions
 
 #### Holtek
 
-- Holtek HT12X 12bit 433.920MHz
-
+- Holtek HT12X 12bit FM 433.920MHz (TE: 204us)
+- Holtek HT12X 12bit AM 433.920MHz (TE: 433us)
+- Holtek HT12X 12bit AM 315MHz (TE: 433us)
+- Holtek HT12X 12bit AM 868MHz (TE: 433us)
+- Holtek HT12X 12bit AM 915MHz (TE: 433us)
 #### Chamberlain
 
 - Chamberlain 9bit 300MHz
@@ -53,20 +56,20 @@ We do not condone illegal activity and strongly encourage keeping transmissions
 
 #### UNILARM
 
-- UNILARM 25bit 330MHz
-- UNILARM 25bit 433MHz
+- UNILARM 25bit 330MHz (TE: 209us) (only dip switch combinations, not full 25bit bruteforce)
+- UNILARM 25bit 433MHz (TE: 209us) (only dip switch combinations, not full 25bit bruteforce)
 
 #### SMC5326
 
-- SMC5326 25bit 330MHz
-- SMC5326 25bit 433MHz
+- SMC5326 25bit 330MHz (TE: 320us) (only dip switch combinations, not full 25bit bruteforce)
+- SMC5326 25bit 433MHz (TE: 320us) (only dip switch combinations, not full 25bit bruteforce)
 
 #### PT2260
 
-- PT2260 24bit 315MHz
-- PT2260 24bit 330MHz
-- PT2260 24bit 390MHz
-- PT2260 24bit 433MHz
+- PT2260 24bit 315MHz (TE: 286us) (only for 8 dip switch remote, not full 24bit bruteforce)
+- PT2260 24bit 330MHz (TE: 286us) (only for 8 dip switch remote, not full 24bit bruteforce)
+- PT2260 24bit 390MHz (TE: 286us) (only for 8 dip switch remote, not full 24bit bruteforce)
+- PT2260 24bit 433MHz (TE: 286us) (only for 8 dip switch remote, not full 24bit bruteforce)
 
 #### Additional
 

+ 1 - 1
subbrute_i.h

@@ -29,7 +29,7 @@
 #include "views/subbrute_attack_view.h"
 #include "views/subbrute_main_view.h"
 
-#define SUBBRUTEFORCER_VER "Sub-GHz BruteForcer 3.4"
+#define SUBBRUTEFORCER_VER "Sub-GHz BruteForcer 3.5"
 
 #ifdef FURI_DEBUG
 //#define SUBBRUTE_FAST_TRACK false

+ 62 - 10
subbrute_protocols.c

@@ -264,7 +264,7 @@ const SubBruteProtocol subbrute_protocol_unilarm_24bit_330 = {
     .frequency = 330000000,
     .bits = 25,
     .te = 209,
-    .repeat = 5,
+    .repeat = 4,
     .preset = FuriHalSubGhzPresetOok650Async,
     .file = UNILARMFileProtocol};
 
@@ -275,7 +275,7 @@ const SubBruteProtocol subbrute_protocol_unilarm_24bit_433 = {
     .frequency = 433920000,
     .bits = 25,
     .te = 209,
-    .repeat = 5,
+    .repeat = 4,
     .preset = FuriHalSubGhzPresetOok650Async,
     .file = UNILARMFileProtocol};
 
@@ -286,7 +286,7 @@ const SubBruteProtocol subbrute_protocol_smc5326_24bit_330 = {
     .frequency = 330000000,
     .bits = 25,
     .te = 320,
-    .repeat = 5,
+    .repeat = 4,
     .preset = FuriHalSubGhzPresetOok650Async,
     .file = SMC5326FileProtocol};
 
@@ -297,7 +297,7 @@ const SubBruteProtocol subbrute_protocol_smc5326_24bit_433 = {
     .frequency = 433920000,
     .bits = 25,
     .te = 320,
-    .repeat = 5,
+    .repeat = 4,
     .preset = FuriHalSubGhzPresetOok650Async,
     .file = SMC5326FileProtocol};
 
@@ -308,7 +308,7 @@ const SubBruteProtocol subbrute_protocol_pt2260_24bit_315 = {
     .frequency = 315000000,
     .bits = 24,
     .te = 286,
-    .repeat = 5,
+    .repeat = 4,
     .preset = FuriHalSubGhzPresetOok650Async,
     .file = PT2260FileProtocol};
 
@@ -319,7 +319,7 @@ const SubBruteProtocol subbrute_protocol_pt2260_24bit_330 = {
     .frequency = 330000000,
     .bits = 24,
     .te = 286,
-    .repeat = 5,
+    .repeat = 4,
     .preset = FuriHalSubGhzPresetOok650Async,
     .file = PT2260FileProtocol};
 
@@ -330,7 +330,7 @@ const SubBruteProtocol subbrute_protocol_pt2260_24bit_390 = {
     .frequency = 390000000,
     .bits = 24,
     .te = 286,
-    .repeat = 5,
+    .repeat = 4,
     .preset = FuriHalSubGhzPresetOok650Async,
     .file = PT2260FileProtocol};
 
@@ -341,7 +341,7 @@ const SubBruteProtocol subbrute_protocol_pt2260_24bit_433 = {
     .frequency = 433920000,
     .bits = 24,
     .te = 286,
-    .repeat = 5,
+    .repeat = 4,
     .preset = FuriHalSubGhzPresetOok650Async,
     .file = PT2260FileProtocol};
 
@@ -356,6 +356,50 @@ const SubBruteProtocol subbrute_protocol_holtek_12bit_433 = {
     .preset = FuriHalSubGhzPreset2FSKDev476Async,
     .file = HoltekFileProtocol};
 
+/**
+ * Holtek AM 12bit 433MHz
+ */
+const SubBruteProtocol subbrute_protocol_holtek_12bit_am_433 = {
+    .frequency = 433920000,
+    .bits = 12,
+    .te = 433,
+    .repeat = 3,
+    .preset = FuriHalSubGhzPresetOok650Async,
+    .file = HoltekFileProtocol};
+
+/**
+ * Holtek AM 12bit 315MHz
+ */
+const SubBruteProtocol subbrute_protocol_holtek_12bit_am_315 = {
+    .frequency = 315000000,
+    .bits = 12,
+    .te = 433,
+    .repeat = 3,
+    .preset = FuriHalSubGhzPresetOok650Async,
+    .file = HoltekFileProtocol};
+
+/**
+ * Holtek AM 12bit 868MHz
+ */
+const SubBruteProtocol subbrute_protocol_holtek_12bit_am_868 = {
+    .frequency = 868350000,
+    .bits = 12,
+    .te = 433,
+    .repeat = 3,
+    .preset = FuriHalSubGhzPresetOok650Async,
+    .file = HoltekFileProtocol};
+
+/**
+ * Holtek AM 12bit 915MHz
+ */
+const SubBruteProtocol subbrute_protocol_holtek_12bit_am_915 = {
+    .frequency = 915000000,
+    .bits = 12,
+    .te = 433,
+    .repeat = 3,
+    .preset = FuriHalSubGhzPresetOok650Async,
+    .file = HoltekFileProtocol};
+
 /**
  * BF existing dump
  */
@@ -373,7 +417,11 @@ static const char* subbrute_protocol_names[] = {
     [SubBruteAttackAnsonic12bit433075] = "Ansonic 12bit 433.07MHz",
     [SubBruteAttackAnsonic12bit433] = "Ansonic 12bit 433.92MHz",
     [SubBruteAttackAnsonic12bit434] = "Ansonic 12bit 434.07MHz",
-    [SubBruteAttackHoltek12bit433] = "Holtek FM 12bit 433MHz",
+    [SubBruteAttackHoltek12bitFM433] = "Holtek FM 12bit 433MHz",
+    [SubBruteAttackHoltek12bitAM433] = "Holtek AM 12bit 433MHz",
+    [SubBruteAttackHoltek12bitAM315] = "Holtek AM 12bit 315MHz",
+    [SubBruteAttackHoltek12bitAM868] = "Holtek AM 12bit 868MHz",
+    [SubBruteAttackHoltek12bitAM915] = "Holtek AM 12bit 915MHz",
     [SubBruteAttackChamberlain9bit300] = "Chamberlain 9bit 300MHz",
     [SubBruteAttackChamberlain9bit315] = "Chamberlain 9bit 315MHz",
     [SubBruteAttackChamberlain9bit390] = "Chamberlain 9bit 390MHz",
@@ -420,7 +468,11 @@ const SubBruteProtocol* subbrute_protocol_registry[] = {
     [SubBruteAttackAnsonic12bit433075] = &subbrute_protocol_ansonic_12bit_433075,
     [SubBruteAttackAnsonic12bit433] = &subbrute_protocol_ansonic_12bit_433,
     [SubBruteAttackAnsonic12bit434] = &subbrute_protocol_ansonic_12bit_434,
-    [SubBruteAttackHoltek12bit433] = &subbrute_protocol_holtek_12bit_433,
+    [SubBruteAttackHoltek12bitFM433] = &subbrute_protocol_holtek_12bit_433,
+    [SubBruteAttackHoltek12bitAM433] = &subbrute_protocol_holtek_12bit_am_433,
+    [SubBruteAttackHoltek12bitAM315] = &subbrute_protocol_holtek_12bit_am_315,
+    [SubBruteAttackHoltek12bitAM868] = &subbrute_protocol_holtek_12bit_am_868,
+    [SubBruteAttackHoltek12bitAM915] = &subbrute_protocol_holtek_12bit_am_915,
     [SubBruteAttackChamberlain9bit300] = &subbrute_protocol_chamberlain_9bit_300,
     [SubBruteAttackChamberlain9bit315] = &subbrute_protocol_chamberlain_9bit_315,
     [SubBruteAttackChamberlain9bit390] = &subbrute_protocol_chamberlain_9bit_390,

+ 5 - 1
subbrute_protocols.h

@@ -40,7 +40,11 @@ typedef enum {
     SubBruteAttackAnsonic12bit433075,
     SubBruteAttackAnsonic12bit433,
     SubBruteAttackAnsonic12bit434,
-    SubBruteAttackHoltek12bit433,
+    SubBruteAttackHoltek12bitFM433,
+    SubBruteAttackHoltek12bitAM433,
+    SubBruteAttackHoltek12bitAM315,
+    SubBruteAttackHoltek12bitAM868,
+    SubBruteAttackHoltek12bitAM915,
     SubBruteAttackChamberlain9bit300,
     SubBruteAttackChamberlain9bit315,
     SubBruteAttackChamberlain9bit390,