目录
第一部分 功能描述 1
第二部分 设计方案 1
一、 mylock 程序 1
二、 lock_guard 监控程序 3
第三部分 安全设计描述 4
一、 抗干扰设计 4
2、睡眠避干扰 4
据此,编写出用来 patch 的 python 脚本(嵌入式-Patch_nop+call.py): 6
4、看门狗及运行监视程序 7
5、冷热启动及初始化 8
对于逆向工程的防御: 17
对于爆破密码的防御: 18
1、 密钥文件再加密 18
2、 敏感变量及时清理 18
第四部分 软件设计 19
第五部分 设计总结 22
第一部分 功能描述
本次实验选题为基于密码访问的门锁系统,类似于现代智能家居中的智能门
锁。在本次实验中,我实现了通过键盘输入密码,若正确开启门锁(电机),若错误给出提示;并通过 LED 显示提示语以及密码输入的结果;还可以通过连续敲击特殊键,输入正确密码和新密码实现密码的更改。
第二部分 设计方案
为了达到实验目标,在本次实验中我编写了两个程序:主程序 mylock 以及监控程序 lock_guard,接下来分开介绍两个程序的设计方案。
一、 mylock 程序
使用了双线程,其中主线程负责接受输入以及进行 hash 校验等,led 线程负责控制 led 输出相应的提示语及结果。
主线程的主要架构如下(mylock/main.c):