Add commands for listing and spoofing airtags

This commit is contained in:
Just Call Me Koko
2024-11-24 11:07:29 -05:00
parent 6fe012af29
commit 88b4edd574
2 changed files with 41 additions and 0 deletions

View File

@@ -242,6 +242,7 @@ void CommandLine::runCommand(String input) {
Serial.println(HELP_LIST_AP_CMD_A); Serial.println(HELP_LIST_AP_CMD_A);
Serial.println(HELP_LIST_AP_CMD_B); Serial.println(HELP_LIST_AP_CMD_B);
Serial.println(HELP_LIST_AP_CMD_C); Serial.println(HELP_LIST_AP_CMD_C);
Serial.println(HELP_LIST_AP_CMD_D);
Serial.println(HELP_SEL_CMD_A); Serial.println(HELP_SEL_CMD_A);
Serial.println(HELP_SSID_CMD_A); Serial.println(HELP_SSID_CMD_A);
Serial.println(HELP_SSID_CMD_B); Serial.println(HELP_SSID_CMD_B);
@@ -252,6 +253,7 @@ void CommandLine::runCommand(String input) {
#ifdef HAS_BT #ifdef HAS_BT
Serial.println(HELP_BT_SNIFF_CMD); Serial.println(HELP_BT_SNIFF_CMD);
Serial.println(HELP_BT_SPAM_CMD); Serial.println(HELP_BT_SPAM_CMD);
Serial.println(HELP_BT_SPOOFAT_CMD);
//Serial.println(HELP_BT_SWIFTPAIR_SPAM_CMD); //Serial.println(HELP_BT_SWIFTPAIR_SPAM_CMD);
//Serial.println(HELP_BT_SAMSUNG_SPAM_CMD); //Serial.println(HELP_BT_SAMSUNG_SPAM_CMD);
//Serial.println(HELP_BT_SPAM_ALL_CMD); //Serial.println(HELP_BT_SPAM_ALL_CMD);
@@ -877,6 +879,34 @@ void CommandLine::runCommand(String input) {
Serial.println("Bluetooth not supported"); Serial.println("Bluetooth not supported");
#endif #endif
} }
else if (cmd_args.get(0) == BT_SPOOFAT_CMD) {
int at_sw = this->argSearch(&cmd_args, "-t");
if (at_sw != -1) {
#ifdef HAS_BT
int target_mac = cmd_args.get(at_sw + 1).toInt();
if (target_mac < airtags->size()) {
for (int i = 0; i < airtags->size(); i++) {
AirTag at = airtags->get(i);
if (i == target_mac)
at.selected = true;
else
at.selected = false;
airtags->set(i, at);
}
Serial.println("Spoofing Airtag: " + airtags->get(target_mac).mac);
#ifdef HAS_SCREEN
display_obj.clearScreen();
menu_function_obj.drawStatusBar();
#endif
wifi_scan_obj.StartScan(BT_SPOOF_AIRTAG, TFT_WHITE);
}
else {
Serial.println("Provided index is out of range: " + (String)target_mac);
return;
}
#endif
}
}
else if (cmd_args.get(0) == BT_SPAM_CMD) { else if (cmd_args.get(0) == BT_SPAM_CMD) {
int bt_type_sw = this->argSearch(&cmd_args, "-t"); int bt_type_sw = this->argSearch(&cmd_args, "-t");
if (bt_type_sw != -1) { if (bt_type_sw != -1) {
@@ -1093,6 +1123,7 @@ void CommandLine::runCommand(String input) {
int ap_sw = this->argSearch(&cmd_args, "-a"); int ap_sw = this->argSearch(&cmd_args, "-a");
int ss_sw = this->argSearch(&cmd_args, "-s"); int ss_sw = this->argSearch(&cmd_args, "-s");
int cl_sw = this->argSearch(&cmd_args, "-c"); int cl_sw = this->argSearch(&cmd_args, "-c");
int at_sw = this->argSearch(&cmd_args, "-t");
// List APs // List APs
if (ap_sw != -1) { if (ap_sw != -1) {
@@ -1139,6 +1170,12 @@ void CommandLine::runCommand(String input) {
} }
this->showCounts(count_selected); this->showCounts(count_selected);
} }
// List airtags
else if (at_sw != -1) {
for (int i = 0; i < airtags->size(); i++) {
Serial.println("[" + (String)i + "]MAC: " + airtags->get(i).mac);
}
}
else { else {
Serial.println("You did not specify which list to show"); Serial.println("You did not specify which list to show");
return; return;

View File

@@ -31,6 +31,7 @@ extern WiFiScan wifi_scan_obj;
extern Settings settings_obj; extern Settings settings_obj;
extern LedInterface led_obj; extern LedInterface led_obj;
extern LinkedList<AccessPoint>* access_points; extern LinkedList<AccessPoint>* access_points;
extern LinkedList<AirTag>* airtags;
extern LinkedList<ssid>* ssids; extern LinkedList<ssid>* ssids;
extern LinkedList<Station>* stations; extern LinkedList<Station>* stations;
extern const String PROGMEM version_number; extern const String PROGMEM version_number;
@@ -83,6 +84,7 @@ const char PROGMEM LOAD_CMD[] = "load";
// Bluetooth sniff/scan // Bluetooth sniff/scan
const char PROGMEM BT_SPAM_CMD[] = "blespam"; const char PROGMEM BT_SPAM_CMD[] = "blespam";
const char PROGMEM BT_SNIFF_CMD[] = "sniffbt"; const char PROGMEM BT_SNIFF_CMD[] = "sniffbt";
const char PROGMEM BT_SPOOFAT_CMD[] = "spoofat";
//const char PROGMEM BT_SOUR_APPLE_CMD[] = "sourapple"; //const char PROGMEM BT_SOUR_APPLE_CMD[] = "sourapple";
//const char PROGMEM BT_SWIFTPAIR_SPAM_CMD[] = "swiftpair"; //const char PROGMEM BT_SWIFTPAIR_SPAM_CMD[] = "swiftpair";
//const char PROGMEM BT_SAMSUNG_SPAM_CMD[] = "samsungblespam"; //const char PROGMEM BT_SAMSUNG_SPAM_CMD[] = "samsungblespam";
@@ -127,6 +129,7 @@ const char PROGMEM HELP_ATTACK_CMD[] = "attack -t <beacon [-l/-r/-a]/deauth [-c]
const char PROGMEM HELP_LIST_AP_CMD_A[] = "list -s"; const char PROGMEM HELP_LIST_AP_CMD_A[] = "list -s";
const char PROGMEM HELP_LIST_AP_CMD_B[] = "list -a"; const char PROGMEM HELP_LIST_AP_CMD_B[] = "list -a";
const char PROGMEM HELP_LIST_AP_CMD_C[] = "list -c"; const char PROGMEM HELP_LIST_AP_CMD_C[] = "list -c";
const char PROGMEM HELP_LIST_AP_CMD_D[] = "list -t";
const char PROGMEM HELP_SEL_CMD_A[] = "select -a/-s/-c <index (comma separated)>/-f \"equals <String> or contains <String>\""; const char PROGMEM HELP_SEL_CMD_A[] = "select -a/-s/-c <index (comma separated)>/-f \"equals <String> or contains <String>\"";
const char PROGMEM HELP_SSID_CMD_A[] = "ssid -a [-g <count>/-n <name>]"; const char PROGMEM HELP_SSID_CMD_A[] = "ssid -a [-g <count>/-n <name>]";
const char PROGMEM HELP_SSID_CMD_B[] = "ssid -r <index>"; const char PROGMEM HELP_SSID_CMD_B[] = "ssid -r <index>";
@@ -136,6 +139,7 @@ const char PROGMEM HELP_LOAD_CMD[] = "load -a/-s";
// Bluetooth sniff/scan // Bluetooth sniff/scan
const char PROGMEM HELP_BT_SNIFF_CMD[] = "sniffbt [-t] <airtag>"; const char PROGMEM HELP_BT_SNIFF_CMD[] = "sniffbt [-t] <airtag>";
const char PROGMEM HELP_BT_SPAM_CMD[] = "blespam -t <apple/google/samsung/windows/flipper/all>"; const char PROGMEM HELP_BT_SPAM_CMD[] = "blespam -t <apple/google/samsung/windows/flipper/all>";
const char PROGMEM HELP_BT_SPOOFAT_CMD[] = "spoofat -t <index>";
//const char PROGMEM HELP_BT_SOUR_APPLE_CMD[] = "sourapple"; //const char PROGMEM HELP_BT_SOUR_APPLE_CMD[] = "sourapple";
//const char PROGMEM HELP_BT_SWIFTPAIR_SPAM_CMD[] = "swiftpair"; //const char PROGMEM HELP_BT_SWIFTPAIR_SPAM_CMD[] = "swiftpair";
//const char PROGMEM HELP_BT_SAMSUNG_SPAM_CMD[] = "samsungblespam"; //const char PROGMEM HELP_BT_SAMSUNG_SPAM_CMD[] = "samsungblespam";