在android手机中最常见的设备保护方法是锁屏密码,从最早的手势密码到键盘密码再现流行的指纹密码。
这些锁屏密码可以有效地保护手机隐私在手机丢失后不泄露,但也给执法人员提取手机证据带来了很大的麻烦。在这里,我们详细解释了Android手机手势密码和键盘密码的工作原理和
手势密码原理和破解方法
安卓手机设置锁屏手势密码图案需满足三个要求:至少四点;最多九点;无重复点。
这种看似复杂的解锁方法是在手机内部存储时使用的hash方式存储。Android锁定设备图案的加密存储过程:
以下是图形加密锁测试:
第一步:图形输入。
输入上图相同的图案(看起来像闪电图案,使用四点)
第二步:明文加密。
这一步是由系统自动完成的。首先是九点的数据含义。意思是:从左上角编号 00,右下角停止编号 08。所以上图中的闪电编码应该是01030406。使用SHA算法计算上述十六进制编码后,得到密文F2A5B79ECD8B5428F474355287BE6ED857E73208”。此步骤系统将自动将图案转换为编码,然后计算密文。所以我们看不见。
第三步:密文存储。
计算密文后,系统将密文存储在/data/system/gesture.key我们可以在文件中使用adb pull /data/system/gesture.key将此密码文件下载到本地,获取密码文件后,用记事本打开是乱码,用十六进制编辑器打开才能看到密文。
我们可以看到们上一步计算的一样。
总结上述算法的规律。从密码明文的编码来看,每个单数位数为零,双数位数不重复排列,单次排列SHA1运算。也就是说,通过数学计算,由于单数位确定,双数位不重复,根据 Android 可以设置图案锁定规则的锁定图案总数是固定的,4个密码的数量是9*8*7*6=3024。密码5个数为15120个。6个密码数为60480个。7个密码数为181440。8个数和9个数的密码数都是36288个。也就是说,总密码可能有985824个。由于密码复杂性低,破解相对容易。用暴力猜测做字典就可以快速解决正确的密码。50多个字典生成m,暴力破解的速度基本上是秒破。
另外,现在提供gesture.key在线解密网站只需上传gesture.key或者提供内部记录的加密数据可以破解原始手势密码。当然,破解的手势步骤始于00,需要在我们的真实手机屏幕上添加一个。
当然,如果只是为了解决这个密码,还有一个更简单的方法,那就是直接adb shell在设备上执行rm /data/system/gesture.key命令删除密码文件,删除相当于没有设备图案锁,输入任何手势进入系统。
破解键盘密码
以上我们分析了手势加密密码的逆向和破解操作,因此键盘密码加密比手势密码最多9点扩大了很多,默认允许用户设置4-16个字符密码,每个密码范围为94个字符,包括52个大小写英文字母+10个数字+除空格外,30个标点符号。在此要求下添加输入的字符salt后进行SHA1和MD5散列值计算。这样,提前准备密码字典是不可行的。对于这种键盘密码,我们只能以删除密码文件的形式删除密码,而不能破解原始密码。
键盘密码的加密文件与手势文件的存储路径相同,文件名称为password.key”,执行“rm /data/system/ password.key删除。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至827202335@qq.com 举报,一经查实,本站将立刻删除。文章链接:https://www.eztwang.com/dongtai/65444.html