특정 변수를 사용해 디버깅을 탐지는 방법 입니다 ^^
IsDebuggerPresent로 많이
#include <stdio.h>
#include <Windows.h>

int check(void)
{
 _asm{
  mov eax,fs:[0x30]
  lea edx,[eax];
  xor eax,eax
  mov al,byte ptr [edx+0x2]
 }
}

int main(void)
{
 while(1)
 {
  if(check()!=0)
  {
   printf("Debuggering~! \n");
   system("taskkill /F /IM OLLYDBG.exe");    //단순히 명령 프롬프트에서 제거 ^^
   system("taskkill /F /IM devenv.exe");
  }
  else
   printf("normal operating~! \n");
  Sleep(500);
 } 
}

'My Study > Programming&Theory' 카테고리의 다른 글

Trap Flag  (0) 2009.12.05
PEB.ProcessHeap.ForceFlags  (0) 2009.12.05
PEB.ProcessHeap.Flags  (0) 2009.12.05
NtGlobalFlag  (0) 2009.12.05
PEB.BeingDeugged  (0) 2009.12.05
간단하게 만들어본 악성코드  (0) 2009.12.04
Posted by Ezbeat