-
-
[旧帖]
[转帖]安卓系统锁屏 解码原理!
0.00雪花
-
发表于:
2013-9-7 16:39
2512
-
[旧帖] [转帖]安卓系统锁屏 解码原理!
0.00雪花
众所周知,android是可以用图案解锁屏幕。使用图案加密直观好记,如图:
图案解锁原理:
通过测试我们知道使用图案解锁,需要满足几个条件:1,至少链接4个点,至多链接9个点;2,每个点只能使用一次。
这种看似复杂的解锁方式其实原理很简单:每个点对应一个数字,然后通过SHA1加密算法直接存储的。
其对应方式为:左上角图案对应数字为00,从左至右,从上至下递增。如图:
例如,我们设置一个图案,如下图:
那么对应的明文应该是:00010204060708对此数据用SHA1算法进行一次加密得到结果:6A 06 2B 9B 34 52 E3 66 40 71 81 A1 BF 92 EA 73 E9 ED 4C 48
系统会将数据写入到 /data/system/gesture.key 文件中,每次解锁时加密输入数据进行校验。到此,解锁原理就弄清楚了。
破解思路:
1,删除密码
删除密码实在太粗暴,执行 adb shell rm /data/system/gesture.key 密码就没了。
2,读取密码
读取密码也很简单,根据上面总结的算法规律总结出:
在总数固定(总数:9)的数据中选取符合规则(长度:4-9)的数据进行排列,这就是一个简单的排列问题。
用数学语言表示:P(9,9)+P(9,8)+P(9,7)+P(9,6)+P(9,5)+P(9,4) = 985824
也就是说,密码最多存在985824种可能。由于密码加密算法简单,生成字典以现代计算机的运算速度,爆破的话,直接秒杀。
注意:在没有ROOT的情况下,ADB默认是shell身份,不能访问/DATA/SYSTEM/目录
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!