Skip to content

Commit 42e9c7f

Browse files
committed
upd blespam
1 parent ddf2f1c commit 42e9c7f

File tree

3 files changed

+15
-11
lines changed

3 files changed

+15
-11
lines changed

base_pack/ble_spam/application.fam

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ App(
88
fap_category="Bluetooth",
99
fap_author="@Willy-JL @ECTO-1A @Spooks4576",
1010
fap_weburl="https://github.com/Flipper-XFW/Xtreme-Apps/tree/dev/ble_spam",
11-
fap_version="4.2",
11+
fap_version="4.3",
1212
fap_description="Flood BLE advertisements to cause spammy and annoying popups/notifications",
1313
fap_icon_assets="icons",
1414
fap_icon_assets_symbol="ble_spam",

base_pack/ble_spam/ble_spam.c

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -150,6 +150,7 @@ typedef struct {
150150
bool resume;
151151
bool advertising;
152152
uint8_t delay;
153+
uint8_t mac[GAP_MAC_ADDR_SIZE];
153154
FuriThread* thread;
154155
int8_t index;
155156
bool ignore_bruteforce;
@@ -189,10 +190,9 @@ static int32_t adv_thread(void* _ctx) {
189190
uint8_t size;
190191
uint16_t delay;
191192
uint8_t* packet;
192-
uint8_t mac[GAP_MAC_ADDR_SIZE];
193193
Payload* payload = &attacks[state->index].payload;
194194
const Protocol* protocol = attacks[state->index].protocol;
195-
if(!payload->random_mac) furi_hal_random_fill_buf(mac, sizeof(mac));
195+
if(!payload->random_mac) furi_hal_random_fill_buf(state->mac, sizeof(state->mac));
196196
if(state->ctx.led_indicator) start_blink(state);
197197

198198
while(state->advertising) {
@@ -209,9 +209,9 @@ static int32_t adv_thread(void* _ctx) {
209209
furi_hal_bt_custom_adv_set(packet, size);
210210
free(packet);
211211

212-
if(payload->random_mac) furi_hal_random_fill_buf(mac, sizeof(mac));
212+
if(payload->random_mac) furi_hal_random_fill_buf(state->mac, sizeof(state->mac));
213213
delay = delays[state->delay];
214-
furi_hal_bt_custom_adv_start(delay, delay, 0x00, mac, 0x1F);
214+
furi_hal_bt_custom_adv_start(delay, delay, 0x00, state->mac, 0x1F);
215215
furi_thread_flags_wait(true, FuriFlagWaitAny, delay);
216216
furi_hal_bt_custom_adv_stop();
217217
}
@@ -375,7 +375,7 @@ static void draw_callback(Canvas* canvas, void* _ctx) {
375375
"App+Spam: \e#WillyJL\e# XFW\n"
376376
"Apple+Crash: \e#ECTO-1A\e#\n"
377377
"Android+Win: \e#Spooks4576\e#\n"
378-
" Version \e#4.2\e#",
378+
" Version \e#4.3\e#",
379379
false);
380380
break;
381381
default: {
@@ -545,10 +545,10 @@ static bool input_callback(InputEvent* input, void* _ctx) {
545545
furi_hal_bt_custom_adv_set(packet, size);
546546
free(packet);
547547

548-
uint8_t mac[GAP_MAC_ADDR_SIZE];
549-
furi_hal_random_fill_buf(mac, sizeof(mac));
548+
if(payload->random_mac || input->type == InputTypeLong)
549+
furi_hal_random_fill_buf(state->mac, sizeof(state->mac));
550550
uint16_t delay = delays[state->delay];
551-
furi_hal_bt_custom_adv_start(delay, delay, 0x00, mac, 0x1F);
551+
furi_hal_bt_custom_adv_start(delay, delay, 0x00, state->mac, 0x1F);
552552
if(state->ctx.led_indicator)
553553
notification_message(state->ctx.notification, &solid_message);
554554
furi_delay_ms(10);

base_pack/ble_spam/protocols/continuity.c

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -827,7 +827,9 @@ static void pp_color_callback(void* _ctx, uint32_t index) {
827827
ContinuityCfg* cfg = &payload->cfg.continuity;
828828
uint8_t model_index = 0;
829829
uint8_t colors_count = 0;
830-
if(payload->mode == PayloadModeValue) {
830+
if(payload->mode == PayloadModeValue ||
831+
(payload->mode == PayloadModeBruteforce &&
832+
cfg->data.proximity_pair.bruteforce_mode == ContinuityPpBruteforceColor)) {
831833
for(; model_index < pp_models_count; model_index++) {
832834
if(cfg->data.proximity_pair.model == pp_models[model_index].value) {
833835
colors_count = pp_models[model_index].colors_count;
@@ -865,7 +867,9 @@ void scene_continuity_pp_color_on_enter(void* _ctx) {
865867

866868
bool found = false;
867869
uint8_t colors_count = 0;
868-
if(payload->mode == PayloadModeValue) {
870+
if(payload->mode == PayloadModeValue ||
871+
(payload->mode == PayloadModeBruteforce &&
872+
cfg->data.proximity_pair.bruteforce_mode == ContinuityPpBruteforceColor)) {
869873
for(uint8_t i = 0; i < pp_models_count; i++) {
870874
if(cfg->data.proximity_pair.model == pp_models[i].value) {
871875
colors_count = pp_models[i].colors_count;

0 commit comments

Comments
 (0)