감지 softice를 검색하여 메모리
이러한 감지 검색을 메모리에 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
|
|||
|