66、加密与软件保护技术分析

加密与软件保护技术分析

1. MS - DOS 软件中的加密狗应用

在早期的 MS - DOS 时代,有一款 1995 年开发的软件,其开发公司早已消失。在 DOS 扩展器出现之前,MS - DOS 软件大多依赖 16 位的 8086 或 80286 CPU,代码也都是 16 位的。与现代代码不同,16 位代码的寄存器是 16 位的,可用指令也较少。

MS - DOS 环境没有系统驱动,程序可以通过端口直接与硬件交互,因此可以看到 OUT/IN 指令,而在现代操作系统的用户模式下,是无法直接访问端口的。

1.1 加密狗访问端口的代码分析

以一个 Sentinel Pro “哈希”加密狗为例,其通过端口进行访问的代码如下:

seg030:0034
out_port proc far ; CODE XREF: sent_pro+22p
seg030:0034
; sent_pro+2Ap ...
seg030:0034
seg030:0034
arg_0 = byte ptr 6
seg030:0034
seg030:0034 55
push bp
seg030:0035 8B EC
mov bp, sp
seg030:0037 8B 16 7E E7
mov dx, _out_port ; 0x378
seg030:003B 8A 46 06
mov al, [bp+arg_0]
seg030:003E EE
out dx, al
seg030:003F 5D
pop bp
seg030:0040 CB
retf
seg030:0040
out_port endp
</
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值