Externalize some utils

This commit is contained in:
Just Call Me Koko
2024-11-19 20:56:39 -05:00
parent 792ae898a3
commit ddb1696292
4 changed files with 107 additions and 17 deletions

View File

@@ -38,7 +38,7 @@ extern "C" {
switch (Type) {
case Microsoft: {
const char* Name = this->generateRandomName();
const char* Name = generateRandomName();
uint8_t name_len = strlen(Name);
@@ -414,13 +414,13 @@ WiFiScan::WiFiScan()
{
}
String WiFiScan::macToString(const Station& station) {
/*String WiFiScan::macToString(const Station& station) {
char macStr[18]; // 6 pairs of hex digits + 5 colons + null terminator
snprintf(macStr, sizeof(macStr), "%02X:%02X:%02X:%02X:%02X:%02X",
station.mac[0], station.mac[1], station.mac[2],
station.mac[3], station.mac[4], station.mac[5]);
return String(macStr);
}
}*/
void WiFiScan::RunSetup() {
if (ieee80211_raw_frame_sanity_check(31337, 0, 0) == 1)
@@ -683,7 +683,7 @@ void WiFiScan::StartScan(uint8_t scan_mode, uint16_t color)
this->startWiFiAttacks(scan_mode, color, text_table4[47]);
else if (scan_mode == WIFI_ATTACK_AP_SPAM)
this->startWiFiAttacks(scan_mode, color, " AP Beacon Spam ");
else if ((scan_mode == BT_SCAN_ALL) || (BT_SCAN_AIRTAG)){
else if ((scan_mode == BT_SCAN_ALL) || (scan_mode == BT_SCAN_AIRTAG)){
#ifdef HAS_BT
RunBluetoothScan(scan_mode, color);
#endif
@@ -2011,7 +2011,7 @@ void WiFiScan::executeSourApple() {
#endif
}
void WiFiScan::generateRandomName(char *name, size_t length) {
/*void WiFiScan::generateRandomName(char *name, size_t length) {
static const char alphabet[] = "abcdefghijklmnopqrstuvwxyz";
// Generate the first character as uppercase
@@ -2022,9 +2022,9 @@ void WiFiScan::generateRandomName(char *name, size_t length) {
name[i] = alphabet[rand() % (sizeof(alphabet) - 1)];
}
name[length - 1] = '\0'; // Null-terminate the string
}
}*/
const char* WiFiScan::generateRandomName() {
/*const char* WiFiScan::generateRandomName() {
const char* charset = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
int len = rand() % 10 + 1; // Generate a random length between 1 and 10
char* randomName = (char*)malloc((len + 1) * sizeof(char)); // Allocate memory for the random name
@@ -2033,9 +2033,9 @@ const char* WiFiScan::generateRandomName() {
}
randomName[len] = '\0'; // Null-terminate the string
return randomName;
}
}*/
void WiFiScan::generateRandomMac(uint8_t* mac) {
/*void WiFiScan::generateRandomMac(uint8_t* mac) {
// Set the locally administered bit and unicast bit for the first byte
mac[0] = 0x02; // The locally administered bit is the second least significant bit
@@ -2043,6 +2043,20 @@ void WiFiScan::generateRandomMac(uint8_t* mac) {
for (int i = 1; i < 6; i++) {
mac[i] = random(0, 255);
}
}*/
void WiFiScan::setBaseMacAddress(uint8_t macAddr[6]) {
// Use ESP-IDF function to set the base MAC address
esp_err_t err = esp_base_mac_addr_set(macAddr);
// Check for success or handle errors
if (err == ESP_OK) {
Serial.println("Base MAC address successfully set.");
} else if (err == ESP_ERR_INVALID_ARG) {
Serial.println("Error: Invalid MAC address argument.");
} else {
Serial.printf("Error: Failed to set MAC address. Code: %d\n", err);
}
}
void WiFiScan::executeSwiftpairSpam(EBLEPayloadType type) {
@@ -2050,7 +2064,9 @@ void WiFiScan::executeSwiftpairSpam(EBLEPayloadType type) {
uint8_t macAddr[6];
generateRandomMac(macAddr);
esp_base_mac_addr_set(macAddr);
//esp_base_mac_addr_set(macAddr);
this->setBaseMacAddress(macAddr);
NimBLEDevice::init("");