Android中可以做的两件坏事---破解锁屏密码和获取Wifi密码

之前的文章一直在介绍OC,最近也是在找急忙慌的学习IOS,所以Android方面的知识分享就有点中断了,但是我现在还是要靠Android吃饭,所以不能Android的工作不能停呀,今天咋们来看一下我在现实中遇到的两个问题和解决方案

问题一:忘记手机的锁屏密码了

Android中在设置中的安全菜单栏中是可以设置锁屏密码的,有直接的文本密码和手势密码(我们一般会用到的两个密码),但是有时候脑子不好使,密码总是忘了,到时候该怎么办呢?

方法一:我们知道现在最流行的手势锁就是九宫格了,他在设置手势的时候,是有一定规则的,比如手势点不能少于4个,而且有些手势是不存在的,一般手势是九宫格,每个点代表一个数值:

0     1     2

3     4     5

6     7     8

其实系统在存储手势密码的时候是存的这些手势对应的数值顺序,然后用SHA进行加密存储的

一般手势的长度是大于3个点的,而且有些手势是不合法的,那么我们就可以用穷举法来一一尝试破解了,现在网上有相对应的软件了,只要输入SHA密文,然后就可以获取到对应的手势数值顺序。SHA和MD5码一样是不可以反解的,只能暴力破解。同时支付宝的手势密码也是这么破解的。这里就不在详细说明了。

方法二:方法一是一个破解的方式,但是那么做太委婉了,我们来一个直接了当的方法:删除密码存储文件

这个方法以前在破解Window系统中的登录密码方式是一样的,不多说了,直接看操作:

=>adb shell

=>su

=>cd data/system

=>ls

=>rm gesture.key

方法很简单,但是有一个前提是:手机必须root之后,在su权限才能操作,这个就比方法一多了一点条件了,方法一是不需要这个条件的。但是没关系,反正我手机是必须root的。不然怎么开发Android,哈哈~~

Android中锁屏密码都是存在:/data/system/   目录下的

我们可以查看后缀名是.key的文件,因为有很多种锁屏方案:手势密码,文本密码,PIN密码等,所以会有相对应的文件,我们只要找到对应的文件,然后将其删除即可。

上面是删除手势密码的,下面来看一下效果:

看到了,当我们删除手势密码文件的时候,我们输入任何手势都可以进入系统了。好了,问题解决了。

注:因为我是Android开发的,所以手机是肯定root了,但是对于那些非开发人员,手机一般不会root,那么就是用第一种方法了,第一种方法没什么难度,网上现在的资料很多,所以可以自行去研究了,为什么我说第二种方法呢?因为快,方便~~

问题二:如何获取连接的wifi密码

手机连接到一个wifi了,但是我忘记密码了,其他朋友也想连接这个wifi,所以就找我要密码,但是我们知道Android中是看不了连接wifi对应的密码的,但是朋友既然问了,作为Android开发者,没理由搞不定呀?所以方法又来了:

=>adb shell

=>su

=>cd data/misc/wifi

=>cat wpa_supplicant.conf

同样的道理,我们其实每次连接上的wifi之后,系统会将这些wifi信息存储到指定文件中,在/data/misc/wifi/  目录下面,然后查看wpa_supplicant.conf文件内容即可

当然了,这个操作也是需要root的,在su权限下才能操作。

总结

通过上面的两个例子,我其实想说的是:Android中有很多信息都是存储在一个文件中的,比如手机的设备信息、电池信息等等。当我们遇到这样的问题,第一感觉是这样的信息应该是存储在一个指定文件中的,然后才去找这个文件。这个也是一种学习的方法。

(PS:Android手机只要root了,什么事都能干,所以期待Google对Android的安全性做一次全面的整改和修复。。。)

时间: 2024-10-16 12:43:39

Android中可以做的两件坏事---破解锁屏密码和获取Wifi密码的相关文章

Android中可以做的两件坏事——破解锁屏密码和获取Wifi密码

今天咋们来看一下我在现实中遇到的两个问题和解决方案 问题一:忘记手机的锁屏密码了 Android中在设置中的安全菜单栏中是可以设置锁屏密码的,有直接的文本密码和手势密码(我们一般会用到的两个密码),但是有时候脑子不好使,密码总是忘了,到时候该怎么办呢? 方法一:我们知道现在最流行的手势锁就是九宫格了,他在设置手势的时候,是有一定规则的,比如手势点不能少于4个,而且有些手势是不存在的,一般手势是九宫格,每个点代表一个数值: 0     1     2 3     4     5 6     7  

android中一个评分的控件

RatingBar android中一个评分的控件 如何使用 Android Studio下: dependencies { compile 'com.hedgehog.ratingbar:app:1.0.2' } 1,在XML中 <com.hedgehog.ratingbar.RatingBar android:layout_marginTop="50dp" android:layout_gravity="center" android:id="@

android中常用的小控件------Widgets的使用

好久没有写博客了,都不知博客怎么写了,最近突然想写博客,以帮助更多的人,却又不知道写什么好呢? 好吧  我承认我有点懒惰了,可是程序猿是不应该懒惰的哦,俺要做个好孩子. 好了言归正传,开始介绍下今天的主要内容吧! Widgets一个桌面的小控件    个人认为是很常用的,不知道大神们是不是这么觉得的呢?比如说你开发的一款音乐播放器的软件,可把基本的上一曲和下一曲.暂停的几个功能放在这个小控件里面将它显示在桌面上来,这样就很方便啦,你想要下一曲.上一曲.暂停播放的时候,就不用再打开播放器了,而是直

Android中的Intent在两个页面传值问题

Android中的Intent在两个页面见传值主要有两种,一种是在两个Activity之间传值,另一种是在一个普通页面和一个Activity之间传递数据. 1. Intent在两个Activity之间传值 首先定义两个Activity   FirstActivity和SecondActivity 在FirstActivity的onCreate()方法中的代码 Intent intent = new Intent(); String str = "要传递的数据"; intent.putE

android中的长度单位,dip、dp、px、sp及获取屏幕分辨率和密度

本文主要讲的是android中长度单位(dp.px.sp)的用法. 1.px:pixels(像素) (1).不同的设备不同的显示屏显示效果是相同的 (2).这是绝对像素,是多少就永远是多少不会改变. 一般我们形容屏幕的分辨率,例如分辨率800*480,实际表示改手机屏幕在高度上有800个像素,宽度上有400个像素,整个屏幕就是由800*480个像素点组成.但是由于我们的屏幕大小是不一样的,就会导致同样分辨率在不同尺寸的屏幕上表现不同,同分辨率下,尺寸越小的屏幕上每英寸上分布的像素点就越多,即分辨

手机被偷前必做的两件事

很多"专家"都曾经发过<手机被偷后必做的N件事>这类教程,比如:致电运营商挂失手机号:致电银行冻结手机网银:手机解绑支付宝:微信冻结账号:修改微博.微信.QQ等密码:找手机运营商补手机卡:等等等等,实际上,这类教程所要求的事情都不是必要的,亡羊补牢不如未雨绸缪,真正要做到丢失后手机安全,只需要事前做两件事情:设置指纹密码和SIM卡密码.对于苹果用户来说,还需设置"查找我的iPhone"和iCloud两步验证. 以iPhone为例,一般都会设置"

阿里云在LC3大会上透露未来要做的两件事

摘要: 阿里云研究员褚霸在LC3大会上同多位业界资深大咖同台交流表示,阿里云发展到今天,把过去应对淘宝.天猫大规模计算以及双11的计算能力转换成普惠的能力放在云上,这是一个非常大的挑战,也是其他厂商没有经历过的.这些挑战不断帮助阿里云积累经验,提升技术能力. 6月25日,由LFAsia, LLC主办的全球开源顶级盛会LinuxCon + ContainerCon + CloudOpen(LC3)在北京国家会议中心召开.来自国内外的开发人员.架构师.系统管理员.DevOps专家.商业领袖等数千名专

Android中使用shape来定义控件

本文章转接于:http://kofi1122.blog.51cto.com/2815761/521605 Android中常常使用shape来定义控件的一些显示属性,今天看了一些shape的使用,对shape有了大体的了解,稍作总结: 先看下面的代码:        <shape>            <!-- 实心 -->            <solid android:color="#ff9d77"/>            <!--

Android中使用shape来定义控件的一些显示属性

本人在美工方面一直是比较白痴的,对于一些颜色什么乱七八糟的非常头痛,但是在Android编程中这又是经常涉及到的东西,没办法,只有硬着头皮上. Android中常常使用shape来定义控件的一些显示属性,今天看了一些shape的使用,对shape有了大体的了解,稍作总结: 先看下面的代码:        <shape>            <!-- 实心 -->            <solid android:color="#ff9d77"/>