mirror of
https://github.com/DarkFlippers/unleashed-firmware.git
synced 2025-12-12 12:42:30 +04:00
remove unnecessary checks from brute plugin, subghz improvements
fix subghz gui in add manually, add BETT protocol in add manually
This commit is contained in:
@@ -14,6 +14,7 @@ typedef enum {
|
|||||||
SubmenuIndexNiceFlo24bit,
|
SubmenuIndexNiceFlo24bit,
|
||||||
SubmenuIndexCAME12bit,
|
SubmenuIndexCAME12bit,
|
||||||
SubmenuIndexCAME24bit,
|
SubmenuIndexCAME24bit,
|
||||||
|
SubmenuIndexBETT_433,
|
||||||
SubmenuIndexCAMETwee,
|
SubmenuIndexCAMETwee,
|
||||||
SubmenuIndexNeroSketch,
|
SubmenuIndexNeroSketch,
|
||||||
SubmenuIndexNeroRadio,
|
SubmenuIndexNeroRadio,
|
||||||
|
|||||||
@@ -69,61 +69,67 @@ void subghz_scene_set_type_on_enter(void* context) {
|
|||||||
|
|
||||||
submenu_add_item(
|
submenu_add_item(
|
||||||
subghz->submenu,
|
subghz->submenu,
|
||||||
"Faac SLH_868",
|
"Faac SLH 868MHz",
|
||||||
SubmenuIndexFaacSLH_868,
|
SubmenuIndexFaacSLH_868,
|
||||||
subghz_scene_set_type_submenu_callback,
|
subghz_scene_set_type_submenu_callback,
|
||||||
subghz);
|
subghz);
|
||||||
submenu_add_item(
|
submenu_add_item(
|
||||||
subghz->submenu,
|
subghz->submenu,
|
||||||
"Faac SLH_433",
|
"Faac SLH 433MHz",
|
||||||
SubmenuIndexFaacSLH_433,
|
SubmenuIndexFaacSLH_433,
|
||||||
subghz_scene_set_type_submenu_callback,
|
subghz_scene_set_type_submenu_callback,
|
||||||
subghz);
|
subghz);
|
||||||
submenu_add_item(
|
submenu_add_item(
|
||||||
subghz->submenu,
|
subghz->submenu,
|
||||||
"BFT Mitto",
|
"BFT Mitto 433MHz",
|
||||||
SubmenuIndexBFT,
|
SubmenuIndexBFT,
|
||||||
subghz_scene_set_type_submenu_callback,
|
subghz_scene_set_type_submenu_callback,
|
||||||
subghz);
|
subghz);
|
||||||
submenu_add_item(
|
submenu_add_item(
|
||||||
subghz->submenu,
|
subghz->submenu,
|
||||||
"Princeton_433",
|
"Princeton 433MHz",
|
||||||
SubmenuIndexPricenton,
|
SubmenuIndexPricenton,
|
||||||
subghz_scene_set_type_submenu_callback,
|
subghz_scene_set_type_submenu_callback,
|
||||||
subghz);
|
subghz);
|
||||||
submenu_add_item(
|
submenu_add_item(
|
||||||
subghz->submenu,
|
subghz->submenu,
|
||||||
"Nice Flo 12bit_433",
|
"Nice Flo 12bit 433MHz",
|
||||||
SubmenuIndexNiceFlo12bit,
|
SubmenuIndexNiceFlo12bit,
|
||||||
subghz_scene_set_type_submenu_callback,
|
subghz_scene_set_type_submenu_callback,
|
||||||
subghz);
|
subghz);
|
||||||
submenu_add_item(
|
submenu_add_item(
|
||||||
subghz->submenu,
|
subghz->submenu,
|
||||||
"Nice Flo 24bit_433",
|
"Nice Flo 24bit 433MHz",
|
||||||
SubmenuIndexNiceFlo24bit,
|
SubmenuIndexNiceFlo24bit,
|
||||||
subghz_scene_set_type_submenu_callback,
|
subghz_scene_set_type_submenu_callback,
|
||||||
subghz);
|
subghz);
|
||||||
submenu_add_item(
|
submenu_add_item(
|
||||||
subghz->submenu,
|
subghz->submenu,
|
||||||
"CAME 12bit_433",
|
"CAME 12bit 433MHz",
|
||||||
SubmenuIndexCAME12bit,
|
SubmenuIndexCAME12bit,
|
||||||
subghz_scene_set_type_submenu_callback,
|
subghz_scene_set_type_submenu_callback,
|
||||||
subghz);
|
subghz);
|
||||||
submenu_add_item(
|
submenu_add_item(
|
||||||
subghz->submenu,
|
subghz->submenu,
|
||||||
"CAME 24bit_433",
|
"CAME 24bit 433MHz",
|
||||||
SubmenuIndexCAME24bit,
|
SubmenuIndexCAME24bit,
|
||||||
subghz_scene_set_type_submenu_callback,
|
subghz_scene_set_type_submenu_callback,
|
||||||
subghz);
|
subghz);
|
||||||
submenu_add_item(
|
submenu_add_item(
|
||||||
subghz->submenu,
|
subghz->submenu,
|
||||||
"Linear_300",
|
"BETT 433MHz",
|
||||||
|
SubmenuIndexBETT_433,
|
||||||
|
subghz_scene_set_type_submenu_callback,
|
||||||
|
subghz);
|
||||||
|
submenu_add_item(
|
||||||
|
subghz->submenu,
|
||||||
|
"Linear 300MHz",
|
||||||
SubmenuIndexLinear_300_00,
|
SubmenuIndexLinear_300_00,
|
||||||
subghz_scene_set_type_submenu_callback,
|
subghz_scene_set_type_submenu_callback,
|
||||||
subghz);
|
subghz);
|
||||||
submenu_add_item(
|
submenu_add_item(
|
||||||
subghz->submenu,
|
subghz->submenu,
|
||||||
"CAME TWEE",
|
"CAME TWEE 433MHz",
|
||||||
SubmenuIndexCAMETwee,
|
SubmenuIndexCAMETwee,
|
||||||
subghz_scene_set_type_submenu_callback,
|
subghz_scene_set_type_submenu_callback,
|
||||||
subghz);
|
subghz);
|
||||||
@@ -133,49 +139,49 @@ void subghz_scene_set_type_on_enter(void* context) {
|
|||||||
// subghz->submenu, "Nero Radio", SubmenuIndexNeroRadio, subghz_scene_set_type_submenu_callback, subghz);
|
// subghz->submenu, "Nero Radio", SubmenuIndexNeroRadio, subghz_scene_set_type_submenu_callback, subghz);
|
||||||
submenu_add_item(
|
submenu_add_item(
|
||||||
subghz->submenu,
|
subghz->submenu,
|
||||||
"Gate TX_433",
|
"Gate TX 433MHz",
|
||||||
SubmenuIndexGateTX,
|
SubmenuIndexGateTX,
|
||||||
subghz_scene_set_type_submenu_callback,
|
subghz_scene_set_type_submenu_callback,
|
||||||
subghz);
|
subghz);
|
||||||
submenu_add_item(
|
submenu_add_item(
|
||||||
subghz->submenu,
|
subghz->submenu,
|
||||||
"DoorHan_315",
|
"DoorHan 315MHz",
|
||||||
SubmenuIndexDoorHan_315_00,
|
SubmenuIndexDoorHan_315_00,
|
||||||
subghz_scene_set_type_submenu_callback,
|
subghz_scene_set_type_submenu_callback,
|
||||||
subghz);
|
subghz);
|
||||||
submenu_add_item(
|
submenu_add_item(
|
||||||
subghz->submenu,
|
subghz->submenu,
|
||||||
"DoorHan_433",
|
"DoorHan 433MHz",
|
||||||
SubmenuIndexDoorHan_433_92,
|
SubmenuIndexDoorHan_433_92,
|
||||||
subghz_scene_set_type_submenu_callback,
|
subghz_scene_set_type_submenu_callback,
|
||||||
subghz);
|
subghz);
|
||||||
submenu_add_item(
|
submenu_add_item(
|
||||||
subghz->submenu,
|
subghz->submenu,
|
||||||
"LiftMaster_315",
|
"Security+1.0 315MHz",
|
||||||
SubmenuIndexLiftMaster_315_00,
|
SubmenuIndexLiftMaster_315_00,
|
||||||
subghz_scene_set_type_submenu_callback,
|
subghz_scene_set_type_submenu_callback,
|
||||||
subghz);
|
subghz);
|
||||||
submenu_add_item(
|
submenu_add_item(
|
||||||
subghz->submenu,
|
subghz->submenu,
|
||||||
"LiftMaster_390",
|
"Security+1.0 390MHz",
|
||||||
SubmenuIndexLiftMaster_390_00,
|
SubmenuIndexLiftMaster_390_00,
|
||||||
subghz_scene_set_type_submenu_callback,
|
subghz_scene_set_type_submenu_callback,
|
||||||
subghz);
|
subghz);
|
||||||
submenu_add_item(
|
submenu_add_item(
|
||||||
subghz->submenu,
|
subghz->submenu,
|
||||||
"Security+2.0_310",
|
"Security+2.0 310MHz",
|
||||||
SubmenuIndexSecPlus_v2_310_00,
|
SubmenuIndexSecPlus_v2_310_00,
|
||||||
subghz_scene_set_type_submenu_callback,
|
subghz_scene_set_type_submenu_callback,
|
||||||
subghz);
|
subghz);
|
||||||
submenu_add_item(
|
submenu_add_item(
|
||||||
subghz->submenu,
|
subghz->submenu,
|
||||||
"Security+2.0_315",
|
"Security+2.0 315MHz",
|
||||||
SubmenuIndexSecPlus_v2_315_00,
|
SubmenuIndexSecPlus_v2_315_00,
|
||||||
subghz_scene_set_type_submenu_callback,
|
subghz_scene_set_type_submenu_callback,
|
||||||
subghz);
|
subghz);
|
||||||
submenu_add_item(
|
submenu_add_item(
|
||||||
subghz->submenu,
|
subghz->submenu,
|
||||||
"Security+2.0_390",
|
"Security+2.0 390MHz",
|
||||||
SubmenuIndexSecPlus_v2_390_00,
|
SubmenuIndexSecPlus_v2_390_00,
|
||||||
subghz_scene_set_type_submenu_callback,
|
subghz_scene_set_type_submenu_callback,
|
||||||
subghz);
|
subghz);
|
||||||
@@ -247,6 +253,13 @@ bool subghz_scene_set_type_on_event(void* context, SceneManagerEvent event) {
|
|||||||
generated_protocol = true;
|
generated_protocol = true;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
case SubmenuIndexBETT_433:
|
||||||
|
key = (key & 0x0000FFF0);
|
||||||
|
if(subghz_scene_set_type_submenu_gen_data_protocol(
|
||||||
|
subghz, SUBGHZ_PROTOCOL_BETT_NAME, key, 18, 433920000, "AM650")) {
|
||||||
|
generated_protocol = true;
|
||||||
|
}
|
||||||
|
break;
|
||||||
case SubmenuIndexCAMETwee:
|
case SubmenuIndexCAMETwee:
|
||||||
key = (key & 0x0FFFFFF0);
|
key = (key & 0x0FFFFFF0);
|
||||||
key = 0x003FFF7200000000 | (key ^ 0xE0E0E0EE);
|
key = 0x003FFF7200000000 | (key ^ 0xE0E0E0EE);
|
||||||
|
|||||||
@@ -106,10 +106,10 @@ bool subbrute_worker_start(
|
|||||||
furi_hal_subghz_set_frequency_and_path(instance->frequency);
|
furi_hal_subghz_set_frequency_and_path(instance->frequency);
|
||||||
furi_hal_subghz_flush_rx();
|
furi_hal_subghz_flush_rx();
|
||||||
|
|
||||||
if(furi_hal_subghz_is_tx_allowed(frequency)) {
|
//if(furi_hal_subghz_is_tx_allowed(frequency)) {
|
||||||
instance->frequency = frequency;
|
instance->frequency = frequency;
|
||||||
res = true;
|
res = true;
|
||||||
}
|
//}
|
||||||
instance->worker_running = res;
|
instance->worker_running = res;
|
||||||
|
|
||||||
#ifdef FURI_DEBUG
|
#ifdef FURI_DEBUG
|
||||||
@@ -245,13 +245,13 @@ bool subbrute_worker_init_manual_transmit(
|
|||||||
furi_hal_subghz_set_frequency_and_path(instance->frequency);
|
furi_hal_subghz_set_frequency_and_path(instance->frequency);
|
||||||
furi_hal_subghz_flush_rx();
|
furi_hal_subghz_flush_rx();
|
||||||
|
|
||||||
if(!furi_hal_subghz_is_tx_allowed(frequency)) {
|
/*if(!furi_hal_subghz_is_tx_allowed(frequency)) {
|
||||||
FURI_LOG_E(TAG, "Frequency: %d invalid!", frequency);
|
FURI_LOG_E(TAG, "Frequency: %d invalid!", frequency);
|
||||||
|
|
||||||
instance->frequency = frequency;
|
instance->frequency = frequency;
|
||||||
instance->worker_manual_mode = false;
|
instance->worker_manual_mode = false;
|
||||||
return false;
|
return false;
|
||||||
}
|
}*/
|
||||||
|
|
||||||
#ifdef FURI_DEBUG
|
#ifdef FURI_DEBUG
|
||||||
FURI_LOG_I(TAG, "Frequency: %d", frequency);
|
FURI_LOG_I(TAG, "Frequency: %d", frequency);
|
||||||
|
|||||||
@@ -21,31 +21,31 @@
|
|||||||
#define TAG "SubBruteApp"
|
#define TAG "SubBruteApp"
|
||||||
|
|
||||||
static const char* subbrute_menu_names[] = {
|
static const char* subbrute_menu_names[] = {
|
||||||
[SubBruteAttackCAME12bit307] = "CAME 12bit 307mhz",
|
[SubBruteAttackCAME12bit307] = "CAME 12bit 307MHz",
|
||||||
[SubBruteAttackCAME12bit433] = "CAME 12bit 433mhz",
|
[SubBruteAttackCAME12bit433] = "CAME 12bit 433MHz",
|
||||||
[SubBruteAttackCAME12bit868] = "CAME 12bit 868mhz",
|
[SubBruteAttackCAME12bit868] = "CAME 12bit 868MHz",
|
||||||
[SubBruteAttackChamberlain9bit300] = "Chamberlain 9bit 300mhz",
|
[SubBruteAttackNICE12bit433] = "NICE 12bit 433MHz",
|
||||||
[SubBruteAttackChamberlain9bit315] = "Chamberlain 9bit 315mhz",
|
[SubBruteAttackNICE12bit868] = "NICE 12bit 868MHz",
|
||||||
[SubBruteAttackChamberlain9bit390] = "Chamberlain 9bit 390mhz",
|
[SubBruteAttackChamberlain9bit300] = "Chamberlain 9bit 300MHz",
|
||||||
[SubBruteAttackLinear10bit300] = "Linear 10bit 300mhz",
|
[SubBruteAttackChamberlain9bit315] = "Chamberlain 9bit 315MHz",
|
||||||
[SubBruteAttackLinear10bit310] = "Linear 10bit 310mhz",
|
[SubBruteAttackChamberlain9bit390] = "Chamberlain 9bit 390MHz",
|
||||||
[SubBruteAttackNICE12bit433] = "NICE 12bit 433mhz",
|
[SubBruteAttackLinear10bit300] = "Linear 10bit 300MHz",
|
||||||
[SubBruteAttackNICE12bit868] = "NICE 12bit 868mhz",
|
[SubBruteAttackLinear10bit310] = "Linear 10bit 310MHz",
|
||||||
[SubBruteAttackLoadFile] = "BF existing dump",
|
[SubBruteAttackLoadFile] = "BF existing dump",
|
||||||
[SubBruteAttackTotalCount] = "Total Count",
|
[SubBruteAttackTotalCount] = "Total Count",
|
||||||
};
|
};
|
||||||
|
|
||||||
static const char* subbrute_menu_names_small[] = {
|
static const char* subbrute_menu_names_small[] = {
|
||||||
[SubBruteAttackCAME12bit307] = "CAME 307mhz",
|
[SubBruteAttackCAME12bit307] = "CAME 307MHz",
|
||||||
[SubBruteAttackCAME12bit433] = "CAME 433mhz",
|
[SubBruteAttackCAME12bit433] = "CAME 433MHz",
|
||||||
[SubBruteAttackCAME12bit868] = "CAME 868mhz",
|
[SubBruteAttackCAME12bit868] = "CAME 868MHz",
|
||||||
[SubBruteAttackChamberlain9bit300] = "Cham 300mhz",
|
[SubBruteAttackNICE12bit433] = "NICE 433MHz",
|
||||||
[SubBruteAttackChamberlain9bit315] = "Cham 315mhz",
|
[SubBruteAttackNICE12bit868] = "NICE 868MHz",
|
||||||
[SubBruteAttackChamberlain9bit390] = "Cham 390mhz",
|
[SubBruteAttackChamberlain9bit300] = "Cham 300MHz",
|
||||||
[SubBruteAttackLinear10bit300] = "Linear 300mhz",
|
[SubBruteAttackChamberlain9bit315] = "Cham 315MHz",
|
||||||
[SubBruteAttackLinear10bit310] = "Linear 310mhz",
|
[SubBruteAttackChamberlain9bit390] = "Cham 390MHz",
|
||||||
[SubBruteAttackNICE12bit433] = "NICE 433mhz",
|
[SubBruteAttackLinear10bit300] = "Linear 300MHz",
|
||||||
[SubBruteAttackNICE12bit868] = "NICE 868mhz",
|
[SubBruteAttackLinear10bit310] = "Linear 310MHz",
|
||||||
[SubBruteAttackLoadFile] = "Existing",
|
[SubBruteAttackLoadFile] = "Existing",
|
||||||
[SubBruteAttackTotalCount] = "Total Count",
|
[SubBruteAttackTotalCount] = "Total Count",
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -307,19 +307,15 @@ SubBruteFileResult subbrute_device_attack_set(SubBruteDevice* instance, SubBrute
|
|||||||
string_set_str(instance->preset_name, preset_ook650_async);
|
string_set_str(instance->preset_name, preset_ook650_async);
|
||||||
break;
|
break;
|
||||||
case SubBruteAttackChamberlain9bit300:
|
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:
|
case SubBruteAttackChamberlain9bit315:
|
||||||
instance->frequency = 315000000;
|
|
||||||
instance->bit = 9;
|
|
||||||
string_set_str(instance->protocol_name, protocol_cham_code);
|
|
||||||
string_set_str(instance->preset_name, preset_ook650_async);
|
|
||||||
break;
|
|
||||||
case SubBruteAttackChamberlain9bit390:
|
case SubBruteAttackChamberlain9bit390:
|
||||||
|
if(type == SubBruteAttackChamberlain9bit300) {
|
||||||
|
instance->frequency = 300000000;
|
||||||
|
} else if(type == SubBruteAttackChamberlain9bit315) {
|
||||||
|
instance->frequency = 315000000;
|
||||||
|
} else /* ALWAYS TRUE if(type == SubBruteAttackChamberlain9bit390) */ {
|
||||||
instance->frequency = 390000000;
|
instance->frequency = 390000000;
|
||||||
|
}
|
||||||
instance->bit = 9;
|
instance->bit = 9;
|
||||||
string_set_str(instance->protocol_name, protocol_cham_code);
|
string_set_str(instance->protocol_name, protocol_cham_code);
|
||||||
string_set_str(instance->preset_name, preset_ook650_async);
|
string_set_str(instance->preset_name, preset_ook650_async);
|
||||||
@@ -353,10 +349,10 @@ SubBruteFileResult subbrute_device_attack_set(SubBruteDevice* instance, SubBrute
|
|||||||
return SubBruteFileResultProtocolNotFound; // RETURN
|
return SubBruteFileResultProtocolNotFound; // RETURN
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!furi_hal_subghz_is_tx_allowed(instance->frequency)) {
|
/*if(!furi_hal_subghz_is_tx_allowed(instance->frequency)) {
|
||||||
FURI_LOG_E(TAG, "Frequency invalid: %d", instance->frequency);
|
FURI_LOG_E(TAG, "Frequency invalid: %d", instance->frequency);
|
||||||
return SubBruteFileResultMissingOrIncorrectFrequency; // RETURN
|
return SubBruteFileResultMissingOrIncorrectFrequency; // RETURN
|
||||||
}
|
}*/
|
||||||
|
|
||||||
// For non-file types we didn't set SubGhzProtocolDecoderBase
|
// For non-file types we didn't set SubGhzProtocolDecoderBase
|
||||||
instance->receiver = subghz_receiver_alloc_init(instance->environment);
|
instance->receiver = subghz_receiver_alloc_init(instance->environment);
|
||||||
|
|||||||
@@ -20,13 +20,13 @@ typedef enum {
|
|||||||
SubBruteAttackCAME12bit307,
|
SubBruteAttackCAME12bit307,
|
||||||
SubBruteAttackCAME12bit433,
|
SubBruteAttackCAME12bit433,
|
||||||
SubBruteAttackCAME12bit868,
|
SubBruteAttackCAME12bit868,
|
||||||
|
SubBruteAttackNICE12bit433,
|
||||||
|
SubBruteAttackNICE12bit868,
|
||||||
SubBruteAttackChamberlain9bit300,
|
SubBruteAttackChamberlain9bit300,
|
||||||
SubBruteAttackChamberlain9bit315,
|
SubBruteAttackChamberlain9bit315,
|
||||||
SubBruteAttackChamberlain9bit390,
|
SubBruteAttackChamberlain9bit390,
|
||||||
SubBruteAttackLinear10bit300,
|
SubBruteAttackLinear10bit300,
|
||||||
SubBruteAttackLinear10bit310,
|
SubBruteAttackLinear10bit310,
|
||||||
SubBruteAttackNICE12bit433,
|
|
||||||
SubBruteAttackNICE12bit868,
|
|
||||||
SubBruteAttackLoadFile,
|
SubBruteAttackLoadFile,
|
||||||
SubBruteAttackTotalCount,
|
SubBruteAttackTotalCount,
|
||||||
} SubBruteAttacks;
|
} SubBruteAttacks;
|
||||||
|
|||||||
Reference in New Issue
Block a user