软件加密与漏洞检测技术解析
1. 软件加密方法
在软件保护方面,除法律法规外,还需采取技术措施,软件加密是常用方法之一。常见的软件加密方法可分为软件加密、硬件加密和网络认证加密三类。
- 软件加密 :在程序执行时,不借助额外硬件,通过特殊算法等手段验证用户合法性。但加密强度不足,易被破解。
- 硬件加密 :依赖特殊硬件,结合基于该硬件开发的软件对程序进行加密。运行加密软件时,程序需访问对应硬件获取预设数据,如电脑扩展槽中的加密卡或并行口中的“加密狗”。因硬件比软件更难复制,硬件加密更可靠,常见形式有加密磁盘、加密卡、加密锁等。
- 网络认证加密 :基于计算机网络远程验证认证加密信息。
2. 加密卡原理与设计
软件保护的基本思路是在软件运行时检测密钥,若密钥正确则软件继续运行,否则终止。加密卡将密钥存储在硬件电路中,即使软件被非法复制,若无对应加密卡也无法正常运行。
加密卡的逻辑电路设计使用了74LS373作为地址锁存器、74LS139作为地址解码器、74LS244作为数据缓冲器。端口地址通过系统总线传递到74LS373锁存器,经过转换和解码生成密钥,再通过74LS244数据缓冲器传输到数据总线。加密卡的I/O端口地址范围是210H - 21FH,不同端口地址对应不同密钥,具体关系如下表所示:
| 端口地址 | 密钥 |
| — | — |
| 210H | 0CH |
| 211H | 1CH |
| 212H | 2CH |
| 213H | 3CH |
超级会员免费看
订阅专栏 解锁全文
1388

被折叠的 条评论
为什么被折叠?



