之前的文章一直在介绍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,那就没办法了,第一种方法没什么难度,网上现在的资料很多,所以可以自行去研究了,但是第一种方法也是需要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的安全性做一次全面的整改和修复。。。)

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

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

    来源:http://blog.csdn.net/jiangwei0910410003/article/details/41800409 今天咋们来看一下我在现实中遇到的两个问题和解决方案 问题一:忘记 ...

  2. 在 PHP 7 中不要做的 10 件事

    在 PHP 7 中不要做的 10 件事 1. 不要使用 mysql_ 函数 这一天终于来了,从此你不仅仅“不应该”使用mysql_函数.PHP 7 已经把它们从核心中全部移除了,也就是说你需要迁移到好 ...

  3. android中一个评分的控件

    RatingBar android中一个评分的控件 如何使用 Android Studio下: dependencies { compile 'com.hedgehog.ratingbar:app:1 ...

  4. Android中使用shape来定义控件

    本文章转接于:http://kofi1122.blog.51cto.com/2815761/521605 Android中常常使用shape来定义控件的一些显示属性,今天看了一些shape的使用,对s ...

  5. android中的五大布局(控件的容器,可以放button等控件)

    一.android中五大布局相当于是容器,这些容器里可以放控件也可以放另一个容器,子控件和布局都需要制定属性. 1.相对布局:RelativeLayout @1控件默认堆叠排列,需要制定控件的相对位置 ...

  6. Android中相对布局的两个控件

    <Button android:id="@+id/button3" android:layout_width="wrap_content" android ...

  7. Android中的自定义视图控件

    简介 当现有控件不能满足需求时,就需要自定义控件. 自定义控件属性 自定义控件首先要继承自View,重写两个构造函数. 第一个是代码中使用的: public MyRect(Context contex ...

  8. 转:在android中button响应的两种方式

    1. 在布局文件中添加button的监听名字 Android:onClick="buttonOnClick" 例如: <Button android:id="@+i ...

  9. (原创)android中使用相机的两种方式

    在社交类应用或扫描二维码的场合都需要用到手机上的摄像头 在程序中启用这一硬件主要有两类方法 1.发送intent启动系统自带的摄像应用 此应用的AndroidManifest中的intent-filt ...

随机推荐

  1. Java Web学习总结(5)HttpServletRequest

    一,HttpServletRequest介绍 HttpServletRequest对象代表客户端的请求,当客户端通过HTTP协议访问服务器时,HTTP请求头中的所有信息都封装在这个对象中,通过这个对象 ...

  2. PHP之namespace小结

    命名空间的使用 在声明命名空间之前唯一合法的代码是用于定义源文件编码方式的 declare 语句.所有非 PHP 代码包括空白符都不能出现在命名空间的声明之前. PHP 命名空间中的类名可以通过三种方 ...

  3. 正确设置nginx/php-fpm/apache权限 提高网站安全性 防止被挂木马

    核心总结:php-fpm/apache 进程所使用的用户,不能是网站文件所有者. 凡是违背这个原则,则不符合最小权限原则. 根据生产环境不断反馈,发现不断有 php网站被挂木马,绝大部分原因是因为权限 ...

  4. JavaScript实现Word、Excel、PPT在线预览

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明.本文链接:https://blog.csdn.net/qq_27626333/article/d ...

  5. 2018-2019-2 实验四 Android程序设计

    实验要求 参考Android开发简易教程 完成云班课中的检查点,也可以先完成实验报告,直接提交.注意不能只有截图,要有知识点,原理,遇到的问题和解决过程等说明.实验报告中一个检查点要有多张截图. 发表 ...

  6. php开发面试题---禁用cookie之后,如何使用session

    php开发面试题---禁用cookie之后,如何使用session 一.总结 一句话总结: 在每个url后面自动加上PHPSESSID的值即可,用户禁止cookie后,服务器仍会将sessionId以 ...

  7. PHP curl get post请求

    POST请求: public function postUrl($url, $postData = false, $header = false) { $ch = curl_init($url); c ...

  8. webpack 中vue文件使用scss需要注意的地方

    需要使用npm添加node_sass和sass_loader 并且在配置文件中添加规则: { test: /\.scss$/, use: ["style-loader", &quo ...

  9. MySQL开启SSL认证,以及简单优化

    1.1 MySQL开启SSL认证 #生成一个 CA 私钥 [root@db01 ssl]# openssl genrsa 2048 > ca-key.pem Generating RSA pri ...

  10. Java导入

    导入(import)声明用于将任何类型导入编译单元.导入(import)声明出现在包声明之后,第一个类型声明之前. 有两种类型的导入声明: 单类型导入声明 按需导入声明 单类型导入声明 单类型导入声明 ...