From d55da415c2379ee2efc4dd6e354afbccca796e7c Mon Sep 17 00:00:00 2001 From: Eduardo Novella Date: Sun, 11 Sep 2022 00:37:08 +0200 Subject: [PATCH 1/3] Include CAME 12 bits bruteforce on 307.80Mhz --- .../scene/subbrute_scene_entrypoint.c | 33 ++++++++++++------- applications/subbrute/subbrute.h | 1 + 2 files changed, 23 insertions(+), 11 deletions(-) diff --git a/applications/subbrute/scene/subbrute_scene_entrypoint.c b/applications/subbrute/scene/subbrute_scene_entrypoint.c index a568ec152..96b7b4040 100644 --- a/applications/subbrute/scene/subbrute_scene_entrypoint.c +++ b/applications/subbrute/scene/subbrute_scene_entrypoint.c @@ -1,7 +1,7 @@ #include "subbrute_scene_entrypoint.h" #include "../subbrute_utils.h" -string_t subbrute_menu_items[9]; +string_t subbrute_menu_items[10]; void subbrute_scene_entrypoint_menu_callback(SubBruteState* context, uint32_t index) { string_set_str(context->preset, "FuriHalSubGhzPresetOok650Async"); @@ -13,6 +13,16 @@ void subbrute_scene_entrypoint_menu_callback(SubBruteState* context, uint32_t in case SubBruteAttackLoadFile: context->current_scene = SceneSelectFile; break; + case SubBruteAttackCAME12bit307: + context->frequency = 307800000; + context->bit = 12; + string_set_str(context->protocol, "CAME"); + string_set_str(context->preset, "FuriHalSubGhzPresetOok650Async"); + if(!subbrute_is_frequency_allowed(context)) { + return; + } + context->current_scene = SceneAttack; + break; case SubBruteAttackCAME12bit433: context->frequency = 433920000; context->bit = 12; @@ -103,24 +113,25 @@ void subbrute_scene_entrypoint_menu_callback(SubBruteState* context, uint32_t in void subbrute_scene_entrypoint_on_enter(SubBruteState* context) { // Clear the previous payload context->menu_index = 0; - for(uint32_t i = 0; i < 9; i++) { + for(uint32_t i = 0; i < 10; i++) { string_init(subbrute_menu_items[i]); } string_set(subbrute_menu_items[0], "BF existing dump"); - string_set(subbrute_menu_items[1], "CAME 12bit 433mhz"); - string_set(subbrute_menu_items[2], "CAME 12bit 868mhz"); - string_set(subbrute_menu_items[3], "Chamberlain 9bit 315mhz"); - string_set(subbrute_menu_items[4], "Chamberlain 9bit 390mhz"); - string_set(subbrute_menu_items[5], "Linear 10bit 300mhz"); - string_set(subbrute_menu_items[6], "Linear 10bit 310mhz"); - string_set(subbrute_menu_items[7], "NICE 12bit 433mhz"); - string_set(subbrute_menu_items[8], "NICE 12bit 868mhz"); + string_set(subbrute_menu_items[1], "CAME 12bit 307mhz"); + string_set(subbrute_menu_items[2], "CAME 12bit 433mhz"); + string_set(subbrute_menu_items[3], "CAME 12bit 868mhz"); + string_set(subbrute_menu_items[4], "Chamberlain 9bit 315mhz"); + string_set(subbrute_menu_items[5], "Chamberlain 9bit 390mhz"); + string_set(subbrute_menu_items[6], "Linear 10bit 300mhz"); + string_set(subbrute_menu_items[7], "Linear 10bit 310mhz"); + string_set(subbrute_menu_items[8], "NICE 12bit 433mhz"); + string_set(subbrute_menu_items[9], "NICE 12bit 868mhz"); } void subbrute_scene_entrypoint_on_exit(SubBruteState* context) { UNUSED(context); - for(uint32_t i = 0; i < 9; i++) { + for(uint32_t i = 0; i < 10; i++) { string_clear(subbrute_menu_items[i]); } } diff --git a/applications/subbrute/subbrute.h b/applications/subbrute/subbrute.h index b6389a910..76dc45d4b 100644 --- a/applications/subbrute/subbrute.h +++ b/applications/subbrute/subbrute.h @@ -29,6 +29,7 @@ typedef enum { typedef enum { SubBruteAttackLoadFile, + SubBruteAttackCAME12bit307, SubBruteAttackCAME12bit433, SubBruteAttackCAME12bit868, SubBruteAttackChamberlain9bit315, From fd230b6d091bf07c0ef6ded30554c1e4f42fb621 Mon Sep 17 00:00:00 2001 From: Eduardo Novella Date: Sun, 11 Sep 2022 00:52:34 +0200 Subject: [PATCH 2/3] Refactor switch case with duplicated code --- .../scene/subbrute_scene_entrypoint.c | 26 +++++-------------- 1 file changed, 7 insertions(+), 19 deletions(-) diff --git a/applications/subbrute/scene/subbrute_scene_entrypoint.c b/applications/subbrute/scene/subbrute_scene_entrypoint.c index 96b7b4040..9720cf60d 100644 --- a/applications/subbrute/scene/subbrute_scene_entrypoint.c +++ b/applications/subbrute/scene/subbrute_scene_entrypoint.c @@ -14,27 +14,15 @@ void subbrute_scene_entrypoint_menu_callback(SubBruteState* context, uint32_t in context->current_scene = SceneSelectFile; break; case SubBruteAttackCAME12bit307: - context->frequency = 307800000; - context->bit = 12; - string_set_str(context->protocol, "CAME"); - string_set_str(context->preset, "FuriHalSubGhzPresetOok650Async"); - if(!subbrute_is_frequency_allowed(context)) { - return; - } - context->current_scene = SceneAttack; - break; case SubBruteAttackCAME12bit433: - context->frequency = 433920000; - context->bit = 12; - string_set_str(context->protocol, "CAME"); - string_set_str(context->preset, "FuriHalSubGhzPresetOok650Async"); - if(!subbrute_is_frequency_allowed(context)) { - return; - } - context->current_scene = SceneAttack; - break; case SubBruteAttackCAME12bit868: - context->frequency = 868350000; + if (index == SubBruteAttackCAME12bit307) { + context->frequency = 307800000; + } else if (index == SubBruteAttackCAME12bit433) { + context->frequency = 433920000; + } else if (index == SubBruteAttackCAME12bit868) { + context->frequency = 868350000; + } context->bit = 12; string_set_str(context->protocol, "CAME"); string_set_str(context->preset, "FuriHalSubGhzPresetOok650Async"); From 248d2224597116ed52f2cee517d8aaf8192677b4 Mon Sep 17 00:00:00 2001 From: Eduardo Novella Date: Sun, 11 Sep 2022 00:57:13 +0200 Subject: [PATCH 3/3] Respect the whitespaces --- applications/subbrute/scene/subbrute_scene_entrypoint.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/applications/subbrute/scene/subbrute_scene_entrypoint.c b/applications/subbrute/scene/subbrute_scene_entrypoint.c index 9720cf60d..130ba0012 100644 --- a/applications/subbrute/scene/subbrute_scene_entrypoint.c +++ b/applications/subbrute/scene/subbrute_scene_entrypoint.c @@ -20,7 +20,7 @@ void subbrute_scene_entrypoint_menu_callback(SubBruteState* context, uint32_t in context->frequency = 307800000; } else if (index == SubBruteAttackCAME12bit433) { context->frequency = 433920000; - } else if (index == SubBruteAttackCAME12bit868) { + } else if (index == SubBruteAttackCAME12bit868) { context->frequency = 868350000; } context->bit = 12;