有趣的实验——通过键盘编程破解安卓…

    xiaoxiao2021-03-25  264

    有一段时间很好奇的一个事情,假设我现在有一部手机,我又正好忘记它的密码,那我要怎么做?

     

    手头这一部安卓的pin码是四位数,假如是纯数字,那么0000-9999一共是10^4种组合,而每输入错误五次要等待30秒,不长不短,不间断的输入约需要55个小时左右,未免太挑战人类耐心的极限了。

     

    那么通过漏洞或者调试模式破解,应该可行,甚至一键解锁。但这里要考虑更极端的环境

     

    假设adb禁用,网络没有开启,调试模式也没有开(我的手机默认是这样的),那么该如何是好?

     

    所想到的大致的解决:

    写一个键盘,利用34u2的usb接口模拟HID,实现从usb接口侵入(机器化输入)

    ==================================================================

     

    最初的方案:

    通过otg实现外接键盘,再编程,实现输入数字

     

     

    输入---》循环五次-----》等待31秒   

     

     

    有个问题是,五十五个小时,供电怎么办?

     

     

    改进方案:

    增进一条电源总线,外接电源到手机上面,这样就能解决手机供电的问题

     

     

    假设,我破解完了,然后进入手机,但是外接的mcu并不知道,所以并不会停止输入,因此还要让它停止

     

     

     

    再次改进方案:

    通过图像识别是否完成了暴力破解

     

    这部分的操作   输入PIN---》通知PC确认---》PC采集影像---》二值化----》比较特定区域的前后区别

     

     

    不过这个我觉得有个BUG,就是USB作为HID设备时候是不能够输入串口的,所以还要用其他设备来作为板载串口输入(比如说蓝牙模块)。

     

     

    增进廉价改进方案:

    利用一枚色彩传感器,告知芯片是否完成了破解并记录最近的PIN码

     

      先将我们的色彩传感器贴在屏幕上面,那么就可以直接的了解是否是有色彩的变化(进入主UI),只要采取特征比较就可以达到,并且不受到屏幕亮度变化的影响

     

    ==================================================================

     

     

     

     

     

     

     

     

     

     

     

     

    至于苹果和其他:

     苹果失败后最大会有半小时的锁定,而且,并不支持otg,还有ms 的WP,那玩意没人用吧?

     

    转载请注明原文地址: https://ju.6miu.com/read-502.html

    最新回复(0)