You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
server.send(200, "text/html", String()+"<a href=\"/\"><- BACK TO INDEX</a><br><br><a href=\"/experimental\"><- BACK TO EXPERIMENTAL TX MODE</a><br><br>Brute forcing "+pinBITS+"bit Wiegand Format PIN from "+(server.arg("bruteSTART"))+" to "+(server.arg("bruteEND"))+" with a "+pinHTMLDELAY+"ms delay between \"keypresses\"<br>This may take a while, your device will be busy until the sequence has been completely transmitted!<br>Please \"STOP CURRENT TRANSMISSION\" before attempting to use your device or simply wait for the transmission to finish.<br>You can view if the brute force attempt has completed by returning to the Experimental TX page and checking the status located under \"Bruteforce PIN\"<br><br><a href=\"/stoptx\"><button>STOP CURRENT TRANSMISSION</button></a>");
1270
+
server.send(200, "text/html", String()+"<a href=\"/\"><- BACK TO INDEX</a><br><br><a href=\"/experimental\"><- BACK TO EXPERIMENTAL TX MODE</a><br><br>Brute forcing "+pinBITS+"bit Wiegand Format PIN from "+(server.arg("bruteSTART"))+" to "+(server.arg("bruteEND"))+" with a "+pinHTMLDELAY+"ms delay between \"keypresses\"<br>This may take a while, your device will be busy until the sequence has been completely transmitted!<br>Please \"STOP CURRENT TRANSMISSION\" before attempting to use your device or simply wait for the transmission to finish.<br>You can view if the brute force attempt has completed by returning to the Experimental TX page and checking the status located under \"Transmit Status\"<br><br><a href=\"/stoptx\"><button>STOP CURRENT TRANSMISSION</button></a>");
1270
1271
delay(50);
1271
1272
}
1272
1273
@@ -1489,41 +1490,103 @@ void setup() {
1489
1490
}
1490
1491
1491
1492
if (server.arg("fuzzType")=="simultaneous") {
1493
+
1494
+
int fuzzTimes=0;
1495
+
dos=0;
1496
+
if ((server.arg("fuzzTimes"))=="dos") {
1497
+
dos=1;
1498
+
server.send(200, "text/html", String()+
1499
+
"<a href=\"/\"><- BACK TO INDEX</a><br><br>"
1500
+
"<a href=\"/experimental\"><- BACK TO EXPERIMENTAL TX MODE</a><br><br>"
1501
+
"Denial of Service mode active.<br>Transmitting D0 and D1 bits simultaneously until stopped."
1502
+
"<br>This may take a while, your device will be busy until the sequence has been completely transmitted!"
1503
+
"<br>Please \"STOP CURRENT TRANSMISSION\" before attempting to use your device or simply wait for the transmission to finish.<br>"
1504
+
"You can view if the fuzzing attempt has completed by returning to the Experimental TX page and checking the status located under \"Transmit Status\"<br><br>"
1505
+
"<a href=\"/stoptx\"><button>STOP CURRENT TRANSMISSION</button></a>");
1506
+
delay(50);
1507
+
}
1508
+
else {
1509
+
fuzzTimes=server.arg("fuzzTimes").toInt();
1510
+
server.send(200, "text/html", String()+
1511
+
"<a href=\"/\"><- BACK TO INDEX</a><br><br>"
1512
+
"<a href=\"/experimental\"><- BACK TO EXPERIMENTAL TX MODE</a><br><br>"
1513
+
"Transmitting D0 and D1 bits simultaneously "+fuzzTimes+" times."
1514
+
"<br>This may take a while, your device will be busy until the sequence has been completely transmitted!"
1515
+
"<br>Please \"STOP CURRENT TRANSMISSION\" before attempting to use your device or simply wait for the transmission to finish.<br>"
1516
+
"You can view if the fuzzing attempt has completed by returning to the Experimental TX page and checking the status located under \"Transmit Status\"<br><br>"
1517
+
"<a href=\"/stoptx\"><button>STOP CURRENT TRANSMISSION</button></a>");
1518
+
delay(50);
1519
+
}
1520
+
1492
1521
wg.pause();
1493
1522
digitalWrite(DATA0, HIGH);
1494
1523
pinMode(DATA0,OUTPUT);
1495
1524
digitalWrite(DATA1, HIGH);
1496
1525
pinMode(DATA1,OUTPUT);
1497
1526
1498
-
int fuzzTimes=server.arg("fuzzTimes").toInt();
1527
+
TXstatus=1;
1499
1528
1500
-
for (int i=0; i<=fuzzTimes; i++) {
1529
+
for (int i=0; i<=fuzzTimes || dos==1; i++) {
1501
1530
digitalWrite(DATA0, LOW);
1502
1531
digitalWrite(DATA1, LOW);
1503
1532
delayMicroseconds(txdelayus);
1504
1533
digitalWrite(DATA0, HIGH);
1505
1534
digitalWrite(DATA1, HIGH);
1506
1535
delay(txdelayms);
1536
+
server.handleClient();
1537
+
if (TXstatus!=1) {
1538
+
break;
1539
+
}
1507
1540
}
1508
1541
1509
1542
pinMode(DATA0, INPUT);
1510
1543
pinMode(DATA1, INPUT);
1511
1544
wg.clear();
1545
+
TXstatus=0;
1546
+
dos=0;
1512
1547
1513
-
experimentalStatus=String()+"Transmitting D0 and D1 bits simultaneously "+fuzzTimes+" times.";
1548
+
//experimentalStatus=String()+"Transmitting D0 and D1 bits simultaneously "+fuzzTimes+" times.";
1514
1549
}
1515
1550
1516
1551
if (server.arg("fuzzType")=="alternating") {
1552
+
1553
+
int fuzzTimes=0;
1554
+
dos=0;
1555
+
if ((server.arg("fuzzTimes"))=="dos") {
1556
+
dos=1;
1557
+
server.send(200, "text/html", String()+
1558
+
"<a href=\"/\"><- BACK TO INDEX</a><br><br>"
1559
+
"<a href=\"/experimental\"><- BACK TO EXPERIMENTAL TX MODE</a><br><br>"
1560
+
"Denial of Service mode active.<br>Transmitting bits alternating between D0 and D1 until stopped."
1561
+
"<br>This may take a while, your device will be busy until the sequence has been completely transmitted!"
1562
+
"<br>Please \"STOP CURRENT TRANSMISSION\" before attempting to use your device or simply wait for the transmission to finish.<br>"
1563
+
"You can view if the fuzzing attempt has completed by returning to the Experimental TX page and checking the status located under \"Transmit Status\"<br><br>"
1564
+
"<a href=\"/stoptx\"><button>STOP CURRENT TRANSMISSION</button></a>");
1565
+
delay(50);
1566
+
}
1567
+
else {
1568
+
fuzzTimes=server.arg("fuzzTimes").toInt();
1569
+
server.send(200, "text/html", String()+
1570
+
"<a href=\"/\"><- BACK TO INDEX</a><br><br>"
1571
+
"<a href=\"/experimental\"><- BACK TO EXPERIMENTAL TX MODE</a><br><br>"
1572
+
"Transmitting "+fuzzTimes+" bits alternating between D0 and D1."
1573
+
"<br>This may take a while, your device will be busy until the sequence has been completely transmitted!"
1574
+
"<br>Please \"STOP CURRENT TRANSMISSION\" before attempting to use your device or simply wait for the transmission to finish.<br>"
1575
+
"You can view if the fuzzing attempt has completed by returning to the Experimental TX page and checking the status located under \"Transmit Status\"<br><br>"
1576
+
"<a href=\"/stoptx\"><button>STOP CURRENT TRANSMISSION</button></a>");
"<INPUT form=\"fuzz\" type=\"text\" name=\"fuzzTimes\" value=\"\" pattern=\"^[1-9]+[0-9]*$\" required title=\"Must be a number > 0, must not be empty\" minlength=\"1\" size=\"32\"><br>"
//"<INPUT form=\"fuzz\" type=\"text\" name=\"fuzzTimes\" value=\"\" pattern=\"^[1-9]+[0-9]*$\" required title=\"Must be a number > 0, must not be empty \" minlength=\"1\" size=\"32\"><br>"
1646
1726
"<INPUT form=\"fuzz\" type=\"radio\" name=\"fuzzType\" id=\"simultaneous\" value=\"simultaneous\" required> <small>Transmit a bit simultaneously on D0 and D1 (X bits per each line)</small><br>"
1647
1727
"<INPUT form=\"fuzz\" type=\"radio\" name=\"fuzzType\" id=\"alternating\" value=\"alternating\"> <small>Transmit X bits alternating between D0 and D1 each bit (01010101,etc)</small><br>"
"<INPUT form=\"dos\" type=\"radio\" name=\"fuzzType\" id=\"simultaneous\" value=\"simultaneous\" required> <small>Transmit a bit simultaneously on D0 and D1 until stopped</small><br>"
1738
+
"<INPUT form=\"dos\" type=\"radio\" name=\"fuzzType\" id=\"alternating\" value=\"alternating\"> <small>Transmit bits alternating between D0 and D1 each bit (01010101,etc) until stopped</small><br>"
"<INPUT form=\"push\" type=\"text\" name=\"pushTime\" value=\"50\" pattern=\"^[1-9]+[0-9]*$\" required title=\"Must be a number > 0, must not be empty\" minlength=\"1\" size=\"32\"><br>"
0 commit comments