감지 softice를 검색하여 메모리


  Share  
|


이러한 감지 검색을 메모리에 v86 모드에 대한 winice.br 문자열입니다. 이 방법은 자주 사용하기 때문에, 그것의 상당 감안, 비록 그것에만 사용할 수있습니다 windows 9x.

이 루틴은 쉽게 숨겨져 있기 때문에 전화를 사용하지 않는다 (다소 api하지도 int)입니다. 이렇게하면이 불을 감지하고,이를 사용하면 잘 알게되는 수도있습니다 디버깅을 시도 -에 대한 공격자가 프로그램을 계속하기 위해, 그는에는 해당 코드를 변경하거나 등록의 내용입니다.

에 대한 검색을 디버깅을 시도, 모든 검사 후에해야 할 작업은이 속임수를 볼 경우에 포함해야한다는의 값을 레지스터 정말를 포함하고있습니다 crc 시험을 볼 필요가 수행하는 프로그램 코드가 변경된 경우에 메모리가있습니다. softice이 활성화되지 않았습니다 메모리에 있으면, 귀하의 검사 루틴 문제없이 실행됩니다.

이 방법의 하나의 단점은 잘에서만 작동하는지 이전 버전의 softice, 오류가 발생할 것입니다 softice의 최신 버전이 활성화된 경우 중 하나에 메모리입니다.

  0.386 
  . 모델을 평면, stdcall 현지인 
  점프 
  유니 코드 = 0 
  포함 w32.inc 
  extrn setunhandledexceptionfilter : 프로 시저입니다. 데이터 message2 message3 delayesp 이전 데시벨 "감지하여 메모리를 검색"을 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 mov, 앨러배마, "경고" 
  mov edi, 10000h mov ecx, 400000h - 10000h 알아보기 : repnz scasb jecxz notfound 
  cmp dword ptr [edi], "inic"jz found1 jmp 더 found1 : 추 edi, 4 
  cmp dword ptr [edi], "rb.e"jnz 더 밀어 단어 ptr 1 
  jmp 짧은 발견 notfound : 밀어 단어 ptr 0; 검색을위한 winice.br 문자열에; v86 메모리; 부터 시작하여 검색 여기 
  ; 바이트 수를 지정합니다을 검색하려면 
  ; 검색어에 "경고"문자열에 메모리; 경우에 문자열이 발견되지 메모리를 찾기; 이 종료되기 때문에 메모리에 softice이 활성화되지 않았습니다.  ; 하면 "경고"문자열이 발견,이 시험을 볼; 여부를 "inic"문자열 다음과 같습니다.  ; 이 종료되면 "inic"이 발견 
  ; 그렇지 않으면 검색 모든 메모리 
  ; 이동하여 4 자 (바이트) 
  ; 때 "winic"가 발견된 것이 수표를 볼 경우에; "e. 저희"문자열을 다음과 같이 
  ; 그렇지 않으면 메모리를 검색 종료 일자; 여기 softice가 기능이 활성화되어 있으면 메모리와; 저장을 1로의 스택을 표시하는 softice; 발견됐다. 
  ; softice이 발견되지 않으면이 여기에 메모리입니다. 
  없음 : 
  ;------------------------------------------------- 2002-02-12; 세트 이전 seh 서비스 
  ;------------------------------------------------- 2002-02-12 밀어 dword ptr [이전] 
  전화를 setunhandleexceptionfilter 
  ;------------------------------------------------- 2002-02-12 팝 도끼 테스트를 도끼, 도끼 jnz jump 계속 :; 복원의 반환 값; 시험을 볼 경우에는 반환 값이 1; 경우이 프로그램은 점프하기 때문에 softice는; 운영중입니다. 
  전화를 messageboxa, 0, 오프셋 message2, \ 오프셋 message1, 0 
  전화를 exitprocess, -1 
  jump : 
  전화를 messageboxa, 0, 오프셋 message3, \ 오프셋 message1, 0 
  전화를 exitprocess, -1 
  오류 :; 새 seh 서비스가 시작될 경우에 대비하는 중 오류가 발생 
  mov esp, [delayesp] 밀어 오프셋을 계속 ret 
  종료 일자 
  최종 시작 
이것은 문서가 추가 샘 petrone

Share  

© 2005-2010 E-articles.info All Rights Reserved - Terms and conditions