Skip to content

Commit

Permalink
added all and all-safe attack types to blespam (#2003)
Browse files Browse the repository at this point in the history
  • Loading branch information
alex10791 committed Mar 18, 2024
1 parent 01e4ff6 commit 6e34343
Show file tree
Hide file tree
Showing 2 changed files with 47 additions and 20 deletions.
57 changes: 39 additions & 18 deletions firmware/application/external/blespam/ui_blespam.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -509,6 +509,44 @@ void BLESpamView::createFastPairPacket() {
std::copy(res.begin(), res.end(), advertisementData);
}

void BLESpamView::createAnyPacket(bool safe) {
ATK_TYPE type[] = {
ATK_ANDROID,
ATK_IOS,
ATK_WINDOWS,
ATK_SAMSUNG,
ATK_IOS_CRASH};
ATK_TYPE attackType = type[rand() % (COUNT_OF(type) - (1 ? safe : 0))];
createPacket(attackType);
}

void BLESpamView::createPacket(ATK_TYPE attackType) {
switch (attackType) {
case ATK_IOS_CRASH:
createIosPacket(true);
break;
case ATK_IOS:
createIosPacket(false);
break;
case ATK_SAMSUNG:
createSamsungPacket();
break;
case ATK_WINDOWS:
createWindowsPacket();
break;
case ATK_ALL_SAFE:
createAnyPacket(true);
break;
case ATK_ALL:
createAnyPacket(false);
break;
default:
case ATK_ANDROID:
createFastPairPacket();
break;
}
}

void BLESpamView::changePacket(bool forced = false) {
counter++; // need to send it multiple times to be accepted
if (counter >= 4 || forced) {
Expand All @@ -517,24 +555,7 @@ void BLESpamView::changePacket(bool forced = false) {
randomizeMac();
randomChn();
if (randomDev || forced) {
switch (attackType) {
case ATK_IOS_CRASH:
createIosPacket(true);
break;
case ATK_IOS:
createIosPacket(false);
break;
case ATK_SAMSUNG:
createSamsungPacket();
break;
case ATK_WINDOWS:
createWindowsPacket();
break;
default:
case ATK_ANDROID:
createFastPairPacket();
break;
}
createPacket(attackType);
}
// rate limit console display
#ifdef BLESPMUSECONSOLE
Expand Down
10 changes: 8 additions & 2 deletions firmware/application/external/blespam/ui_blespam.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,9 @@ enum ATK_TYPE {
ATK_IOS,
ATK_IOS_CRASH,
ATK_WINDOWS,
ATK_SAMSUNG
ATK_SAMSUNG,
ATK_ALL_SAFE,
ATK_ALL
};
enum PKT_TYPE {
PKT_TYPE_INVALID_TYPE,
Expand Down Expand Up @@ -124,7 +126,9 @@ class BLESpamView : public View {
{"iOs", 1},
{"iOs crash", 2},
{"Windows", 3},
{"Samsung", 4}}};
{"Samsung", 4},
{"All-Safe", 5},
{"All", 6}}};

bool is_running{false};

Expand All @@ -148,6 +152,8 @@ class BLESpamView : public View {
void createIosPacket(bool crash);
void createSamsungPacket();
void createWindowsPacket();
void createAnyPacket(bool safe);
void createPacket(ATK_TYPE attackType);
void changePacket(bool forced);
void on_tx_progress(const bool done);

Expand Down

0 comments on commit 6e34343

Please sign in to comment.