检测内存中的 Soft-Ice
概述:
检测内存中的 Soft-Ice
又一法,不过这次用的是在全部内存搜索 Soft-Ice 的特征码来实现的。
汇编编程示例:
; 加密方法: 检测 s-ice
; 用 scas,cmps
等指令, s-ice 无法用
; bpm 等断点检测到,
因此可用比较关键字
; 来检测 s-ice
是否在内存中
code segment
assume
cs:code,ds:code
org
100h
start:
jmp
install
DATA_SICE DB 67h,66h,8bh,06h,0fh,22h,0d8h,26h,67h,66h
DB
8bh,46h,04h,66h,26h,67h,0fh,01h,10h
DATA_SICE_END EQU THIS BYTE
d_ok db 'OK,
passed...',0dh,0ah,24h
d_ice db 'Has Soft-Ice in
memory',0dh,0ah,24h
install:
mov si,offset data_sice
mov dx,cs
mov al,26h
xor bp,bp
cld
res1:
mov es,bp
mov cx,100h
xor di,di
res2:
repnz scasb
jnz cts_2
push cx
push si
push di
mov cx,offset
data_sice_end-offset data_sice
repz cmpsb
jz has_sice
pop di
pop si
pop cx
jmp short res2
cts_2:
add bp,10h
cmp bp,dx
jb res1
mov ah,9
mov dx,offset d_ok
int 21h
int 20h
has_sice:
mov ah,9
mov dx,offset d_ice
int 21h
int 20h
code ends
end start