灵感来自于:https://blog.csdn.net/qq_40169767/article/details/90481748
但是我不懂shell脚本,那个脚本又运行不了,所以我用python写了一个,
穷举要0.05s*9999999999999999/60*60*24*365=15,854,895年
不推荐使用,如果你时间多运气好的话可以试试,
python3代码
使用 adb reboot bootloader 命令 让手机进入fastboot模式后运行此代码即可
import subprocess
import random
import io
import logging
logging.basicConfig(filename='fuckBl.log',level=logging.DEBUG , format=' %(asctime)s - %(levelname)s - %(message)s')
def execCommond(cmd):
logging.info(cmd)
proc = subprocess.Popen(cmd, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE, bufsize=-1)
proc.wait()
stream_stdout = io.TextIOWrapper(proc.stdout, encoding='utf-8')
stream_stderr = io.TextIOWrapper(proc.stderr, encoding='utf-8')
str_stdout = str(stream_stdout.read())
str_stderr = str(stream_stderr.read())
logging.info(str_stdout)
logging.warning(str_stderr)
result=str_stdout+str_stderr
return result
def testAKey(key):
result=execCommond('fastboot oem unlock %s'%(str(key)))
if 'OKAY' in result:
return True
return False
def checkDeviceStatus():
result=execCommond('fastboot oem get-bootinfo')
if 'locked' in result:
return False
return True
def getDevices():
result=execCommond('fastboot devices')
results=result.split('\n')
return results
currentNum=0
def getCode(random=True):
global currentNum
num=0
if random:
num=random.randint(0,9999999999999999)
else:
num=currentNum
currentNum=currentNum+1
return str(num).zfill(16)
def main():
deviceStatus=checkDeviceStatus()
while True:
code=getCode(random=False)
if testAKey(code) and checkDeviceStatus():
print('尝试 {%s} : √'%(code))
break
print('尝试 {%s} : ×'%(code))
print('解锁成功:{%s}'%(code),)
if __name__ == '__main__':
main()
测试截图
![在这里插入图片描述](https://img-blog.csdnimg.cn/1ba14458fa464bc48c1a39e7fc81cc38.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_Q1NETiBA56m6Xy3nmb0=,size_23,color_FFFFFF,t_70,g_se,x_16)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)