From c4783664c005c95438e69d1fbad57883c8b25af4 Mon Sep 17 00:00:00 2001 From: MX <10697207+xMasterX@users.noreply.github.com> Date: Tue, 27 Sep 2022 00:51:36 +0300 Subject: [PATCH 1/2] subghz bruteforcer plugin: move title a bit --- applications/plugins/subbrute/views/subbrute_main_view.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/applications/plugins/subbrute/views/subbrute_main_view.c b/applications/plugins/subbrute/views/subbrute_main_view.c index 8d8bf477e..1159a33b3 100644 --- a/applications/plugins/subbrute/views/subbrute_main_view.c +++ b/applications/plugins/subbrute/views/subbrute_main_view.c @@ -85,7 +85,7 @@ void subbrute_main_view_draw(Canvas* canvas, SubBruteMainViewModel* model) { canvas_set_font(canvas, FontPrimary); canvas_draw_box(canvas, 0, 0, canvas_width(canvas), STATUS_BAR_Y_SHIFT); canvas_invert_color(canvas); - canvas_draw_str_aligned(canvas, 64, 2, AlignCenter, AlignTop, "Sub-GHz Bruteforcer"); + canvas_draw_str_aligned(canvas, 64, 3, AlignCenter, AlignTop, "Sub-GHz Bruteforcer"); canvas_invert_color(canvas); if(m->is_select_byte) { From cb14d23108ba5043dd01407fcab73312488c6212 Mon Sep 17 00:00:00 2001 From: MX <10697207+xMasterX@users.noreply.github.com> Date: Tue, 27 Sep 2022 04:31:52 +0300 Subject: [PATCH 2/2] format, add chamberlain 9bit 300mhz --- .../plugins/subbrute/scenes/subbrute_scene_save_success.c | 2 +- applications/plugins/subbrute/subbrute.c | 2 ++ applications/plugins/subbrute/subbrute_device.c | 6 ++++++ applications/plugins/subbrute/subbrute_device.h | 5 ++++- applications/plugins/subbrute/views/subbrute_attack_view.c | 6 +++--- 5 files changed, 16 insertions(+), 5 deletions(-) diff --git a/applications/plugins/subbrute/scenes/subbrute_scene_save_success.c b/applications/plugins/subbrute/scenes/subbrute_scene_save_success.c index 7f0e28809..f83c0c0fe 100644 --- a/applications/plugins/subbrute/scenes/subbrute_scene_save_success.c +++ b/applications/plugins/subbrute/scenes/subbrute_scene_save_success.c @@ -21,7 +21,7 @@ bool subbrute_scene_save_success_on_event(void* context, SceneManagerEvent event SubBruteState* instance = (SubBruteState*)context; //SubBruteMainView* view = instance->view_main; - + if(event.type == SceneManagerEventTypeCustom) { if(event.event == SubBruteCustomEventTypePopupClosed) { if(!scene_manager_search_and_switch_to_previous_scene( diff --git a/applications/plugins/subbrute/subbrute.c b/applications/plugins/subbrute/subbrute.c index 0393335ab..5bdacde63 100644 --- a/applications/plugins/subbrute/subbrute.c +++ b/applications/plugins/subbrute/subbrute.c @@ -24,6 +24,7 @@ static const char* subbrute_menu_names[] = { [SubBruteAttackCAME12bit307] = "CAME 12bit 307mhz", [SubBruteAttackCAME12bit433] = "CAME 12bit 433mhz", [SubBruteAttackCAME12bit868] = "CAME 12bit 868mhz", + [SubBruteAttackChamberlain9bit300] = "Chamberlain 9bit 300mhz", [SubBruteAttackChamberlain9bit315] = "Chamberlain 9bit 315mhz", [SubBruteAttackChamberlain9bit390] = "Chamberlain 9bit 390mhz", [SubBruteAttackLinear10bit300] = "Linear 10bit 300mhz", @@ -38,6 +39,7 @@ static const char* subbrute_menu_names_small[] = { [SubBruteAttackCAME12bit307] = "CAME 307mhz", [SubBruteAttackCAME12bit433] = "CAME 433mhz", [SubBruteAttackCAME12bit868] = "CAME 868mhz", + [SubBruteAttackChamberlain9bit300] = "Cham 300mhz", [SubBruteAttackChamberlain9bit315] = "Cham 315mhz", [SubBruteAttackChamberlain9bit390] = "Cham 390mhz", [SubBruteAttackLinear10bit300] = "Linear 300mhz", diff --git a/applications/plugins/subbrute/subbrute_device.c b/applications/plugins/subbrute/subbrute_device.c index 037a0f11b..f1ca6962a 100644 --- a/applications/plugins/subbrute/subbrute_device.c +++ b/applications/plugins/subbrute/subbrute_device.c @@ -306,6 +306,12 @@ SubBruteFileResult subbrute_device_attack_set(SubBruteDevice* instance, SubBrute string_set_str(instance->protocol_name, protocol_came); string_set_str(instance->preset_name, preset_ook650_async); break; + case SubBruteAttackChamberlain9bit300: + instance->frequency = 300000000; + instance->bit = 9; + string_set_str(instance->protocol_name, protocol_cham_code); + string_set_str(instance->preset_name, preset_ook650_async); + break; case SubBruteAttackChamberlain9bit315: instance->frequency = 315000000; instance->bit = 9; diff --git a/applications/plugins/subbrute/subbrute_device.h b/applications/plugins/subbrute/subbrute_device.h index 008e022a8..5419c10de 100644 --- a/applications/plugins/subbrute/subbrute_device.h +++ b/applications/plugins/subbrute/subbrute_device.h @@ -20,6 +20,7 @@ typedef enum { SubBruteAttackCAME12bit307, SubBruteAttackCAME12bit433, SubBruteAttackCAME12bit868, + SubBruteAttackChamberlain9bit300, SubBruteAttackChamberlain9bit315, SubBruteAttackChamberlain9bit390, SubBruteAttackLinear10bit300, @@ -96,4 +97,6 @@ bool subbrute_device_create_packet_parsed(SubBruteDevice* context, uint64_t step SubBruteFileResult subbrute_device_attack_set(SubBruteDevice* context, SubBruteAttacks type); uint8_t subbrute_device_load_from_file(SubBruteDevice* context, string_t file_path); FuriHalSubGhzPreset subbrute_device_convert_preset(const char* preset); -void subbrute_device_attack_set_default_values(SubBruteDevice* context, SubBruteAttacks default_attack); \ No newline at end of file +void subbrute_device_attack_set_default_values( + SubBruteDevice* context, + SubBruteAttacks default_attack); \ No newline at end of file diff --git a/applications/plugins/subbrute/views/subbrute_attack_view.c b/applications/plugins/subbrute/views/subbrute_attack_view.c index 12c849b43..562c30131 100644 --- a/applications/plugins/subbrute/views/subbrute_attack_view.c +++ b/applications/plugins/subbrute/views/subbrute_attack_view.c @@ -82,7 +82,7 @@ bool subbrute_attack_view_input(InputEvent* event, void* context) { return true; }); instance->callback(SubBruteCustomEventTypeTransmitStarted, instance->context); - /*if(event->type == InputTypeRepeat && event->key == InputKeyOk) { + /*if(event->type == InputTypeRepeat && event->key == InputKeyOk) { #ifdef FURI_DEBUG FURI_LOG_D(TAG, "InputKey: %d OK. SubBruteCustomEventTypeTransmitContinuousStarted", event->key); #endif @@ -374,7 +374,7 @@ void subbrute_attack_view_draw(Canvas* canvas, void* context) { elements_button_top_left(canvas, "Save"); elements_button_top_right(canvas, "Resend"); } else { - if (model->is_continuous_worker) { + if(model->is_continuous_worker) { canvas_invert_color(canvas); } // canvas_draw_icon_animation @@ -391,7 +391,7 @@ void subbrute_attack_view_draw(Canvas* canvas, void* context) { elements_progress_bar(canvas, 8, 37, 110, progress_value > 1 ? 1 : progress_value); elements_button_center(canvas, "Stop"); - if (model->is_continuous_worker) { + if(model->is_continuous_worker) { canvas_invert_color(canvas); } }