九宫格密码破解

1.实验原理

九宫格的九个点可分别对应1-9这九个数字,分布样式为:

1        2      3

 4       5      6

 7       8      9

将数字之间的连接路径转换为这9个数字,并按9个数字的16进制对其进行SHA1加密,并存储到gesture.key文件中。

Android九宫格默认至少得有 4个数的口令:

4个数的输入口令可能个数为9*8*7*6=3024

5个数的输入口令可能个数为9*8*7*6*5=15120

6个数的输入口令可能个数为9*8*7*6*5*4=60480

7个数的输入口令可能个数为9*8*7*6*5*4*3=181440

8个数的输入口令可能个数为9*8*7*6*5*3*2*1=362880

9个数的输入口令可能个数为9*8*7*6*5*4*3*2*1=362880

一共有985824个可能的输入口令。

2.设置密码,查看效果

3.破解九宫格

使用adb命令来连接模拟器,提取加密过后的SHA1数据,用命令行进入到adb目录下可查看其用法:

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
如果你想实现一个手势九宫格密码的界面,可以借助tkinter的Canvas组件来实现。下面是一个简单的示例代码: ```python import tkinter as tk class GesturePasswordApp: def __init__(self, master): self.master = master self.master.title("手势九宫格密码") self.canvas = tk.Canvas(self.master, width=300, height=300) self.canvas.pack() self.canvas.bind("<B1-Motion>", self.on_drag) self.passcode = [] self.lines = [] self.create_grid() def create_grid(self): for row in range(3): for col in range(3): x1 = col * 100 + 50 y1 = row * 100 + 50 x2 = x1 + 50 y2 = y1 + 50 self.canvas.create_oval(x1, y1, x2, y2, fill="white", outline="black") def on_drag(self, event): x = event.x // 100 * 100 + 75 y = event.y // 100 * 100 + 75 if (x, y) not in self.passcode: self.passcode.append((x, y)) self.canvas.create_oval(x - 25, y - 25, x + 25, y + 25, fill="blue", outline="black") if len(self.passcode) > 1: prev_x, prev_y = self.passcode[-2] line = self.canvas.create_line(prev_x, prev_y, x, y, fill="blue") self.lines.append(line) def clear(self): self.canvas.delete("all") self.create_grid() self.passcode = [] for line in self.lines: self.canvas.delete(line) self.lines = [] root = tk.Tk() app = GesturePasswordApp(root) root.mainloop() ``` 在这个示例中,我们创建了一个名为`GesturePasswordApp`的类,该类继承自tkinter的`Tk`类。通过在`Canvas`上绑定鼠标拖动事件`<B1-Motion>`,我们可以捕捉到用户的手势输入。在`on_drag`方法中,我们根据鼠标位置绘制蓝色的圆形,并连接前后两个圆形之间的线条。密码的坐标点存储在`passcode`列表中,连接的线条存储在`lines`列表中。 运行代码后,你可以在窗口中拖动鼠标,绘制手势图案。每次绘制完成后,你可以清除密码并重新开始。请注意,这只是一个简单的示例,实际应用中可能需要更复杂的逻辑和界面设计。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值