移动智能终端PIN码破解

1) Android程序调试桥(Android debug bridge , adb)

    adb是一个 客户端-服务器端 程序, 其中客户端是用来操作的电脑, 服务器端是android设备。

    adb 的使用涉及以下3个主要部件:

    在Android终端设备上运行的adbd;

    在工作站上运行的abdb;

    在工作站上运行的abd客户端程序;

    当在一个Android终端设备上开启了USB调试,后台程序将会运行并会对连接进行监听。运行在终端设备上的adbd和运行在工作站上的adbd之间使用本地端口5555到5585进行通信。本地的adbd客户端程序使用端口5037同本地的adbd进行通信。

2) Android屏锁

    Android移动智能终端的锁屏有多种方式,目前最为主要使用的锁屏方式有三种,即字符密码锁屏,PIN密码锁屏和九宫格密码锁屏,其中字符密码锁屏因可以使用4到16位的数字或字符,形式较为复杂,因此将着重对于Android系统中锁屏进行研究并尝试破解该密码。所谓字符密码即为锁屏时通过使用26个英文字母以及10个阿拉伯数字设置锁屏密码,大大的增加了密码的复杂度。Android将密码信息保存在一个叫做password.key的文件中,该文件存放在/data/system/目录。由于直接明文保存密码不够安全,Android转向保存PIN码和密码的加盐的SHA1 hash值和MD5 hash值。

    找到Android系统的密码存储位置则主要依赖于ADB工具的使用,通过对ADB工具的研究使用,找到密码的存储位置,将密码的存储文件导出。不过由于密码的存储为加密形式,因而需要用WinHex阅读相应的密码存储文件。

    找到存储文件后就要对应进行破解,由于hash值加盐,字典破解方式显得异常艰难。为了破解密码,必须先获得盐(salt),然后还要花费大量时间进行暴力破解。盐(salt)是一个64比特(8字节)的随机数字的十六进制字符串表示。对于已经root过的手机,只需开启USB调试模式,拷贝出/data/system/password.key。

然后导出:

    /data/data/com.android.providers.settings/databases/settings.db(SQLite数据库)的lockscreen.password_salt键值(该键值就是上面所说的“盐(salt)”)。一旦获取这两个信息,就可以开始使用hashcat等工具进行暴力破解了。

 

  • 0
    点赞
  • 0
    收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

justoneu

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值