检测内存中的 Soft-Ice
2007-01-13 20:13:59 来源:WEB开发网核心提示:概述:检测内存中的 Soft-Ice 又一法,不过这次用的是在全部内存搜索 Soft-Ice 的特征码来实现的,检测内存中的 Soft-Ice,汇编编程示例:;加密方法:检测 s-ice;用 scas,cmps 等指令, s-ice 无法用;bpm 等断点检测到, 因此可用比较关键字;来检测 s-ice 是否在内存中c
概述:
检测内存中的 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
更多精彩
赞助商链接