详解安卓手机中锁屏病毒的破解及解析方案,亲身经历

大家好,我来给各位讲一个我自己亲身经历的例子,各位可以把它当作一个教程来看,也可以把他当作一个故事来看~~


我也是主流社会的一员,也特喜欢玩王者荣耀,但是技术不好,数日前,忽生邪念,下载了一个辅助脚本,结果被套路中了锁屏病毒,阴沟里翻船,真恶心!!


既然我屏幕被锁了,就得想办法给他解开,所以出现在开始我给各位简要的解释一下,在安卓里面锁屏密码主要是两种模式:1.手机密码,就是设计一个图像以图像为解密密码2.PIN及复杂数字解锁密码,这个解密密码模式很简单,大家都知道,我就不过多解释了,点到即止!


我们的目的是为了解锁手机密码,所以我们现在就需要做一点,那就是找到突破口来解密密码,我使用的方法很简单那就是利用工具来分析并且获取当前的View,之后逐步跟进随后最终绕回到锁屏密码工具类,再回到了这个密码分类之后在进行解析之后即可。


接下来,我来给大家好好唠一唠,我是怎么最终实现的:


1.首要任务就是知道他的算法模式,利用密码对他的算法进行分析


 


从上图很明显的就能够看得出来一个步骤那就是:passwordToHash方法,这些参数的目的就是为了让用户输入的密码和当前用户的id相对应,在正常情况下一台手机或其他设备上应该不会出现同时具备多个用户的情况,所以userId的默认值一般情况下为0,接下来就是重头戏了,也是一个知识点各位都记录一下那就是核心加密算法:原文密码+设备的salt值,然后分别MD5和SHA-1操作,转化成hex值再次拼接就是最终保存到本地的加密密码了。


如果你理解了上述的一段话的意思,那么恭喜你,我们可以开始一起来解密手机密码了,接下来咱们就一起操作吧!


现在当务之急就是获取手机或者设备的salt值,我这里使用的方法就是逐步跟踪代码:


 


没什么突破性发现,似乎只能隐约的发现好像是数据库保存的,继续跟踪


这段里面所反馈的信息就是:这是通过一个SM来获取服务进行操作的,像利用这种方式来获取服务的通常逻辑链都很明显就是都存在于XXXSERVICE这个类别中,我们只需要找到这个类别,之后查看他的getlong的方式即可:


 


哼哼,到了这一步,我已经可以断定它是利用数据保存的,OK,继续跟踪:


 


果然是在数据库保存的,接下来继续查看代码的LOCKSETTINGSTORAGE.JAVA类(应该是小写的哈我图省事就没有切换)


 


这里已经就等于是很直白的显示出来了啊,数据库名字叫做:locksettings.db


现在就需要知道他到底把东西给存到那里了,OK,咱们现在就需要继续追踪了


 


跟踪到这一步的时候就有点拨云见雾之感了,我们可以看到有两个key文件,那么这个就是用来保存加密之后的手势密码和输入密码的信息到本地,下次开机解锁就需要读取这个文件内容进行密码比对了。这里看到一个目录是system了,所以数据库和这两个key文件很可能保存到该目录下了:/data/system/,不过为了确保,我们直接用find命令去根目录下搜索这个数据库文件也是可以的。最终确定是该目录: 


 


这里可能会提示找不到find命令,这时候需要安装busybox工具了,才能使用这个命令了。找到这个数据库文件就好办了,直接取出来,然后用SQLite工具进行查看即可,当然也可以直接在手机中查看。我为了方便还是弄出来看:


 


这里看到了这个表格字段,并且获取到这个值了,那么下面就要用这个值来验证我们的分析是否正确,我们首先给设备设置一个简单的输入密码,这里直接输入简单的"1234"了,然后会在/data/system目录下生成一个密码加密key文件:/data/system/password.key,这时候我们将改文件导出来:


 


下面我就用就简单的Java代码手动的实现这个算法,看看分析是否正确,加密算法都不用自己写,直接从上面的源码中拷贝出来就可以了:


 


注意看一下下图的红框内容


 


这里发现内容和上面的password.key内容完全一致了,也就验证了,我们的分析完全符合,到这里我们就分析完了输入密码的加密算法,总结一点就是:MD5(输入明文密码+设备的salt).Hex+SHA1(输入明文密码+设备的salt).Hex;就是最终的加密内容了。而这里最重要的是如何获取设备的salt值,这个其实也简单,我们可以用反射机制进行获取,新建一个简单的Android工程:


 


看到这里各位已经基本上知道该怎么破解手机密码了哈~首次操作可能会不熟练,存在难度


在操作之前一定要记住,先拿到你设备的salt值,这个方式有两种,一种是查看/data/system/locksetting.db文件,一种是用反射获取。然后就要注意的是源码版本,各个版本的源码算法也是截然不同的,所以各位小伙伴们都要注意啦~~~

原文地址:http://www.hackernc.com/thread-4424-1-1.html

猜你喜欢

转载自www.cnblogs.com/nshengj/p/9018904.html