- 帖子
- 1436
- 积分
- 1436
- 经验
- 1436 点
- 威望
- 43 点
- 金钱
- 2139 NG
- 魅力
- 2055
- 性别
- 男
- 来自
- 日本
- 注册时间
- 2003-5-15
我们约会吧!
|
1#
发表于 2003-5-25 12:10
| 只看该作者
检测内存中的 Soft-Ice(1)
概述:
检测内存中的 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 |
|