首页
社区
课程
招聘
[旧帖] [转帖]安卓系统锁屏 解码原理! 0.00雪花
发表于: 2013-9-7 16:39 2513

[旧帖] [转帖]安卓系统锁屏 解码原理! 0.00雪花

2013-9-7 16:39
2513
众所周知,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/目录

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (4)
雪    币: 101
活跃值: (43)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
2
此贴有出口转内销嫌疑……  类似的贴见过几个了
2013-9-7 16:46
0
雪    币: 507
活跃值: (130)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
3
是的,如果不开调试的话,手机shell都进不去,什么都没法干的
2013-9-7 19:10
0
雪    币: 324
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
我只是转贴!然不知道的人知道    你知道了!有些人不知道啊!
2013-9-10 16:59
0
雪    币: 370
活跃值: (15)
能力值: ( LV9,RANK:170 )
在线值:
发帖
回帖
粉丝
5
实际密码远没有那么多,第一排无法直接划到第三排,第一列第三列之间也是如此,获得hash之后秒破
2013-9-10 22:12
0
游客
登录 | 注册 方可回帖
返回
//