首页
移动开发
物联网
服务端
编程语言
企业开发
数据库
业界资讯
其他
搜索
详解安卓手机中锁屏病毒的破解及解析方案,亲身经历
其他
2018-05-10 12:20:45
阅读次数: 1
大家好,我来给各位讲一个我自己亲身经历的例子,各位可以把它当作一个教程来看,也可以把他当作一个故事来看~~
我也是主流社会的一员,也特喜欢玩王者荣耀,但是技术不好,数日前,忽生邪念,下载了一个辅助脚本,结果被套路中了锁屏病毒,阴沟里翻船,真恶心!!
既然我屏幕被锁了,就得想办法给他解开,所以出现在开始我给各位简要的解释一下,在安卓里面锁屏密码主要是两种模式: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
详解安卓手机中锁屏病毒的破解及解析方案,亲身经历
亲身经历的 noshow 与 goshow
前端工作之路 — 亲身经历
记录天赐宝贝的亲身经历
亲身经历的android 环境搭建
Linux故障排查(亲身经历)
中了勒索病毒之后怎么办-亲身经历(2021.8)
亲身经历,云服务器遭遇挖矿病毒之后
【亲身经历,亲身经历】Windows hosts 文件不生效
关于Arduino手动添加库(亲身经历,博主小白)
Windows电脑重装系统亲身经历
实习生对公司的看法(亲身经历)
从硬盘安装fedora10(亲身经历).xml
学好seo的一些亲身经历
亲身经历,目前it界项目流程需改革!
为什么怕写代码(自己的亲身经历)
Python2018秋招(笔者亲身经历)
转行数据分析的亲身经历
亲身经历面试题总结
十年程序员的亲身经历
亲身经历,宝宝自己上厕所的那点事儿
进程与线程面试题(亲身经历)
亲身经历的一次OCM考试
空手套白狼-我的互联网草根创业亲身经历
七种方法绕过安卓手机锁屏
react native 适配安卓全面屏手机
安卓手机来电亮屏流程分析
安卓手机录屏软件哪个好
哪种安卓手机游戏录屏更好?
安卓手机怎么无线投屏电脑?
今日推荐
周排行
成为C++高手之宏与枚举
在CAD二次开发中使用进度条
Js插件ECharts,HighCharts学习网址整理
Celery提交任务出错(on windows.)
cephfs内核客户端性能追踪
thinkphp中PHPExcel用法
EntityFramework动态组合多排序字段
汇编语言(八)实验9 根据材料编程
安装ubuntu后必须做的事情(对我而言)
JS函数式编程
每日归档
更多
2024-10-22(0)
2024-10-21(0)
2024-10-20(0)
2024-10-19(0)
2024-10-18(0)
2024-10-17(0)
2024-10-16(0)
2024-10-15(0)
2024-10-14(0)
2024-10-13(0)