程序猿捡到一部Android手机是无节操的破解还是高尚的归还?

Android技术篇 尼古拉斯.赵四 13533℃ 0评论

Android手机现在的普遍率还是很高的,但是现在也是有很多人丢了手机,作为一个有文化的人捡到一部手机应该立马打电话给失主归还,但是如果一个屌丝程序猿捡到一部手机之后会发生什么呢?素质大家都一样,但是作为一个程序猿那种渴望的好奇感悠然而生,总是好奇心在作怪想去看看手机里面有啥?

现在手机都会有屏幕解锁,那么现在的问题是如何破解屏幕锁,其实Android中的屏幕锁存储很简单,把一个手势密码使用sha1进行加密保存到/data/system/gesture.key文件中:

破解方式有两种:一种是直接暴力点,把这个文件删除,然后就可以随意手势都可以解锁,另外一种就是逼格高点,直接使用手势密码库来直接暴力破解,因为我们知道九宫格手势密码是有条件的:

手势密码的点的格式不能少于4个,不能多于9个,而且不能重复,那么这就产生了一个算法问题,有多少中可能呢?这个可以自行计算了,网上有好心人已经把这些可能用脚本跑出来了,保存成一个db文件,大概60多M。有了这个手势密钥库之后,接下来就简单了,直接读取gesture.key文件的内容,然后进行比对,得到明文数据即可。可以简单的写一个Android程序破解:

看到了,手势密码就被破解出来了!

这个密钥库和Android破解案例下载地址:http://download.csdn.net/detail/jiangwei0910410003/9605951

注意:这个手势工具还是有很多用途的,比如一些app本身也有一些手势密码,那么如果他用的也是sha1进行加密的话,就可以直接使用这个工具进行破解了。

还有一个利用场景:如果现在恶意的应用获取root之后,就利用这个工具在后台获取设备的解锁密码,然后把IMEI和密码一一对应传递到服务器中,在开设一个网络接口可以根据imei来查询对应设备的解锁密码,那么可想而知这安全性就非常危险了,你的设备将可能随时被人盗取!

上面说到的两种方式破解没什么难度问题,下面就来总结一下其实上面说的都是扯淡的,为什么呢?因为他们的破解场景太狭窄了,你想想如果一个人的手机丢了,被你捡到了,第一反应立马连接手机,但是最大的问题到了,adb如何授权?连接的时候会弹出一个adb授权提示框,需要点击确认的,而此时还没有解锁,无法点击对话框,如果没有adb授权的话,那么这个手机我们将没有办法进行任何操作,所以上面的方法对于破解捡来的手机就算了,行不通的,我们可以直接recovery,但是这时候就失去了破解的本质没什么意义!

前面的破解场景很狭隘,先要获取到adb授权,然后还得root,因为那个gesture.key文件读取是需要root权限的,不过如果有了adb授权的话,root就相对来说简单了,现在市面上root的工具太多了!

对于捡来的Android手机就没办法破解了吗?只能眼巴巴的交给警察叔叔,有密码的话,你想打电话找到失主还真困难,只能recovery之后,在打电话了,那么等失主找到手机发现数据被恢复出厂设置了,他是先感谢你,然后在打你!所以问题就在于这个屏幕锁,不过下面要介绍的就不是我们程序猿能干的事了,而是采用高科技来进行破解了,主要利用手机屏幕中手势密码的痕迹来查看手势,现在一个人每天解锁屏幕大概是20~30次,那么如果时间长的话,就会在屏幕上留下痕迹!我们可以使用两个遮光板和一个照相机,进行采光拍摄屏幕:

这时候来查看设备的屏幕:

看到了四个手机样本处理之后的结果,可以根据图案大致分析了手势密码了!

上面说的这种脱离代码破解手势的技术其实是美国一所大学的专家们研究出来的,他们通过多个样本进行了测试实验,结果破解率达到了82%左右:

而这种破解方式就叫做涂抹破解(Smudge Attach),感兴趣的同学可以去搜一下这个知识点,破解的成本不是很高,只要一台拍照设备和几个遮光板即可。

如果Android程序猿捡到一部手机的时候,如果是没节操的人,就想先破解,那么这里第一步得先解锁屏幕,只有解锁了屏幕之后,后面的事才能进行,所以破解手势密码的话只能先依靠上面的涂抹破解方式了,说到这里安全起见最好是给屏幕贴个膜,然后隔断时间换个膜,这样就不会留下痕迹了!

而在开始讲到的利用gesture.key文件来破解的方式场景使用太小了,没有多大的破解意义,只能说装个逼能够知道adb授权之后的Android设备的锁屏密码,其他什么意义都没有!

说到最后需要声明几点:

1、如果现在使用Android设备的同学,最好是速度看看自己的屏幕有没有留下痕迹,或者是屏幕膜太久了该换换了!

2、如果设备丢失,第一时间不是急着找到设备,而是立马把一些涉及到财产账号的app立马修改密码或者冻结,避免财产损失,同时需要同时好友一些社交账号丢失,因为如果破解成功了,后续的社交app的账号盗取也是很简单了!

3、如果你捡到手机了,不管你是程序猿还是其他人,都应该秉着道德高尚,立马寻求失主,而不是占为己有!

《Android应用安全防护和逆向分析》

点击立即购买:京东  天猫

更多内容:点击这里

关注微信公众号,最新Android技术实时推送

转载请注明:尼古拉斯.赵四 » 程序猿捡到一部Android手机是无节操的破解还是高尚的归还?

喜欢 (15)or分享 (0)
发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
(1)个小伙伴在吐槽
  1. 要不要这么搞
    xxkun2016-11-03 15:49 回复