检测内存中的 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