|
|
의 존재를 감지하는 방법은 다음과 같습니다 softice이 메모리에 전화하여 int 포함될의 값을 43h 호출하기 전에 int은 도끼를 등록합니다. 68 h. 가 아를 등록해야합니다 68h. softice이 활성화된 경우에 메모리를 반환 값 0f386h은
이것은 잘 - 알려진 방법은 일반적으로 사용되는 감지 softice는 안전하고 있지만에서만 windows 9x. 그것의 행동을 볼 수있습니다, 예를 들어, safedisc :
0.386
. 모델을 평면, stdcall 현지인
점프
유니 코드 = 0
포함 w32.inc
extrn setunhandledexceptionfilter : 프로 시저입니다. 데이터 message3 message2 delayesp 이전합니다. 코드 데시벨 "탐지하여 전화 int 68h", 0데시벨 "softice 없음", 0데시벨 "softice를 찾을 수없습니다", 0 dd 0
; 가 esp 등록을 절약 여기 dd 0; esp의 주소가 등록이 저장됩니다; 이전 seh 서비스가 여기에
시작 :
;------------------------------------------------- 2002-02-12; 세트 seh의 경우 오류가
;------------------------------------------------- 2002-02-12
mov [delayesp], esp
푸시 오프셋 오류
전화를 setunhandledexceptionfilter
mov [이전], eax
;------------------------------------------------- 2002-02-12
; 새 주소에 대한 구조적 예외 처리 (seh)를 설정하려면 여기를 보장하는 경우에 대비해는; 오류,이 프로그램은 계속 주소가 오류 분류하고 올바르게 종료됩니다. 이것이 중요합니다; 예를 들어,이 프로그램 호출 인터럽트를 제대로 수행하는 경우에만 해당됩니다 softice; 이 활성하지만 이는 오류와 충돌을 일으킬 경우이 프로그램 softice이 활성화되지 않았습니다. 마지막으로,; 이전의 seh 서비스 주소가 저장됩니다.
;------------------------------------------------- 2002-02-12 아, 43 검색 int 68h 밀어 eax; 서비스 번호; 호출 int 68h 중단; 구원의 반환 값
;------------------------------------------------- 2002-02-12; 세트 이전 seh 서비스 ;---------------------------------------------- -------------------------------------------------- - 밀어 dword ptr [이전]
전화를 setunhandledexceptionfilter
;------------------------------------------------- 2002-02-12; 세트 원래 seh 서비스 주소
;------------------------------------------------- 2002-02-12
팝 eax; 복원의 반환 값 cmp 도끼, 0f386h; 시험의 반환 값이 있는지 여부를 확인
; "매직 번호"
;------------------------------------------------- 2002-02-12; 만약 softice이 활성에 메모리를 반환 값됩니다 f386h에 도끼를 등록합니다. ;------------------------------------------------- 2002-02-12
jz jump; 그렇다면이 프로그램 점프 softice가 있기 때문에
; 활성에 메모리
계속 :
전화를 messageboxa, 0, 오프셋 message2, \ 오프셋 message1, 0
; 경우에 반환 값 이전 이외의 다른 f386h,; softice를 찾을 수없습니다, 오류 메시지가; 이 표시됩니다.
전화를 exitprocess, -1; 종료 일자가 프로그램
jump :
전화를 messageboxa, 0, 오프셋 message3, \ 오프셋 message1, 0
; 인화하는 메시지가 softice를 찾을 수있습니다. 어떤; 코드에는 다음과에서이 지점입니다.
전화를 exitprocess, -1
; 종료 일자가 프로그램 오류 :; 새 seh 서비스가 시작될 경우에 대비하는 중 오류가 발생합니다. mov esp, [delayesp]
푸시 오프셋을 계속 ret
; 이 프로그램에 오류가 발생하면, seh; 을 보장하는 프로그램은 계속에서; 오류를 분류합니다.
종료 일자
최종 시작
; 끝 프로그램
Online: 828 users browsing the articles directory
|
|