Android屏幕解锁图案破解
来源:互联网 发布:mac 邮箱软件 编辑:程序博客网 时间:2024/04/29 19:36
标 题: 【原创】Android屏幕解锁图案破解
作 者: gamehacker
时 间: 2013-03-27,14:29:58
链 接: http://bbs.pediy.com/showthread.php?t=166933
题目:Android屏幕解锁图案破解
Android手机上有一个屏幕解锁的应用相信大家都不陌生,在 Android 设备上,用户可以通过设置锁定图案作为密码对设备用户界面进行锁定,锁定界面如下图所示。
一般的Android手机的锁定界面由九个点构成,设定图案需满足三个要求:
至少四个点;
最多九个点;
无重复点。
这种看似复杂的解锁方式在 Android 存储时使用的是明文转换后采用散列方式存储。Android 设备图案锁定的加密存储过程:
下面设置一个图形加密锁测试一下:
第一步:图形输入。
输入上图一样的图案(看上去是个“2”,使用了九个点。)
第二步:明文加密。
这一步是系统自动完成的,首先是九个点的数据含义,含义是这样的:从左上角起编号为 00,至右下角止编号为 08。那么上图中“2”的编码应该是000102050403060708。使用SHA1算法对上述十六进制编码进行计算后得到密文“333d9f31c209ce1217bc165c5baa7307b06bbf87”。这一步系统会自动将图案转换成编码,在将编码算出密文的。因此我们是看不到的。
第三步:密文存储。
计算好密文后,系统会将密文存储在/DATA/SYSTEM/GESTURE.KEY文件中,我们可以使用“adb pull /data/system/gesture.key gesture.key”将这个密码文件系在到本地,得到密码文件后,用记事本打开是乱码的,要用十六进制编辑器打开才可以看到密文。
可以看到密文和上一步我们计算出来的是一样的。
对上面算法总结一下规律。从密码明文的编码来看,各单数位数字为零,双数位数字不重复地排列,并将这个排列进行单次SHA1运算。那么也就是说,通过数学计算可知,由于单数位确定,双数位不重复,则根据 Android 图案锁定规则可以设置的锁定图案总数是固定的,4个数的密码个数为9*8*7*6=3024。5个数的密码个数为15120个。6个数的密码个数为60480个。7个数的密码个数为181440个。8个数和9个数的密码个数都是36288个。也就是说一共密码的可能个数为985824个。由于密码复杂程度不高,破解相对容易。只要做一个字典进行暴力猜解就可以将正确密码解出来且速度很快。生成的字典50多m,暴力破解速度基本是秒破的。
当然如果只是为了搞定这个密码,还有更简单的方法,就是直接adb shell到设备上,然后执行“rm /data/system/gesture.key”命令将密码文件删掉就可以了,删除后相当于没有设备图案锁。
破解android屏幕解锁图案就是这么简单,希望大家喜欢。
作 者: gamehacker
时 间: 2013-03-27,14:29:58
链 接: http://bbs.pediy.com/showthread.php?t=166933
题目:Android屏幕解锁图案破解
Android手机上有一个屏幕解锁的应用相信大家都不陌生,在 Android 设备上,用户可以通过设置锁定图案作为密码对设备用户界面进行锁定,锁定界面如下图所示。
一般的Android手机的锁定界面由九个点构成,设定图案需满足三个要求:
至少四个点;
最多九个点;
无重复点。
这种看似复杂的解锁方式在 Android 存储时使用的是明文转换后采用散列方式存储。Android 设备图案锁定的加密存储过程:
下面设置一个图形加密锁测试一下:
第一步:图形输入。
输入上图一样的图案(看上去是个“2”,使用了九个点。)
第二步:明文加密。
这一步是系统自动完成的,首先是九个点的数据含义,含义是这样的:从左上角起编号为 00,至右下角止编号为 08。那么上图中“2”的编码应该是000102050403060708。使用SHA1算法对上述十六进制编码进行计算后得到密文“333d9f31c209ce1217bc165c5baa7307b06bbf87”。这一步系统会自动将图案转换成编码,在将编码算出密文的。因此我们是看不到的。
第三步:密文存储。
计算好密文后,系统会将密文存储在/DATA/SYSTEM/GESTURE.KEY文件中,我们可以使用“adb pull /data/system/gesture.key gesture.key”将这个密码文件系在到本地,得到密码文件后,用记事本打开是乱码的,要用十六进制编辑器打开才可以看到密文。
可以看到密文和上一步我们计算出来的是一样的。
对上面算法总结一下规律。从密码明文的编码来看,各单数位数字为零,双数位数字不重复地排列,并将这个排列进行单次SHA1运算。那么也就是说,通过数学计算可知,由于单数位确定,双数位不重复,则根据 Android 图案锁定规则可以设置的锁定图案总数是固定的,4个数的密码个数为9*8*7*6=3024。5个数的密码个数为15120个。6个数的密码个数为60480个。7个数的密码个数为181440个。8个数和9个数的密码个数都是36288个。也就是说一共密码的可能个数为985824个。由于密码复杂程度不高,破解相对容易。只要做一个字典进行暴力猜解就可以将正确密码解出来且速度很快。生成的字典50多m,暴力破解速度基本是秒破的。
当然如果只是为了搞定这个密码,还有更简单的方法,就是直接adb shell到设备上,然后执行“rm /data/system/gesture.key”命令将密码文件删掉就可以了,删除后相当于没有设备图案锁。
破解android屏幕解锁图案就是这么简单,希望大家喜欢。
- Android屏幕解锁图案破解
- Android屏幕解锁图案破解
- Android屏幕解锁图案破解
- Android屏幕解锁图案破解
- Android屏幕解锁图案破解
- Android屏幕解锁图案破解
- Android屏幕解锁图案破解
- Android屏幕解锁图案破解
- 智能手机屏幕解锁图案研究
- Android 图案解锁
- Android解锁图案共有多少种?
- android图案解锁功能的实现
- Android 项目开发实战:图案解锁
- 基于Android的图案解锁实现
- Android自定义View--图案解锁控件PatternLockView
- Android自定义九宫格图案解锁
- Android实现九宫格图案解锁
- android 解锁屏幕
- VMDK之动态扩展文件解析思路
- 变量‘std::istringstream stream’有初始值设定,但是类型不完全
- mysql 数据库中 的 primary key and key and index
- mac下获取文件的完整路径
- java final 关键字
- Android屏幕解锁图案破解
- 点滴
- Android - 文件读写操作总结
- ANSI C++特征总结
- Java中易混淆
- Mysql日期类型大小比较
- Android开发之旅:环境搭建及HelloWorld
- android内核处理机制
- 协方差矩阵之主成分分析