android中重设锁屏密码

 

开发当中(针对模拟器)或者使用手机(android版的手机)时,有时候会忘记锁屏的密码,那怎么办呢?

 

方案有二:(我这里主要是针对开发人员来考虑的(既针对修改源码的方式)):

 

方案一:

           禁掉锁屏界面的显示,既(在开启模拟器或者手机的时候,既launcher启动之后出现的那个锁屏界面)。然后再进入系统设置界面进行重新设置密码,可是当我们进入系统设置界面的时候系统又会弹出一个解锁的密码要我们再次的输入锁屏密码进行确认。那要该怎么办呢,呵,当然是修改源码了。

 

 

具体步骤如下:

          1.  禁掉启动之后出现的那个锁屏界面,既禁掉~/android2.3/frameworks/base/policy/src/com/android/internal/policy/impl/KeyguardUpdateMonitor.java类中的handleShow()方法。重新编译之后再启动就不会出现锁屏的界面了,这样我们就可以进入主页面进行操作了。

 

 

          2.让设置界面出现的那个锁屏重设密码界面永远通过。既,让这里的密码校验成立,修改~/android2.3/packages/apps/Settings/src/com/android/settings/ConfirmLockPattern.java类中的onPatternDetected()方法.

既,只要让mLockPatternUtils.checkPattern(pattern)判断条件为ture就OK拉,然后重新编译,启动模拟器或手机,进入设置界面进行重设密码了。

 

 

 

 

方案二:

         既、重新生成一个gesture.key或password.key等,这个文件是根据你设置密码类型来生成的(有九宫格图案/密码/PIN类型),文件导入到模拟器中覆盖原来的这样的密码文件就可以拉。那怎么样才能重新生成这个.key文件呢,我这里就以图案密码类型为例说一下吧,具体如下:

 

        查看系统源码就知道了系统是怎么样进行图案密码保存的,源码如下:

 

 

LockPatternView.Cell的源码:

 

 

哦,大家应该有所理解了吧,原来系统是把每一个格子(cell)看似成一个二维的数组中对应的值。然后把cell保存在一个list里面,但限制最大个数为9个,注意:不是说密码只有9种,因为密码设置是根据我们画的路线有关,所以有很多种。然后再把每一个cell转换成byte型的数组。接着再用SHA-1方式进行了加密。

 

到这里我相应大家应该清楚了吧,只要我们自己定义一个二维数组。二维数组里面保存我们自己想要设置密码,然后把这个通过上面的那种方式进行加密生成一个.key的文件就OK了。然后把这个导入模拟器中替换原来的密码文件,OK,密码已成功修改了,大功告成。呵呵,第一次发表微薄,有什么写的不对的地方,还请各位原谅和请教,希望可以帮助到有这方面之需的人。

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值