티스토리 뷰
728x90
반응형
TRAP FLAG를 이용하여 DEBUGING 감지
자신이 만든 프로세스가 타인에 의하여 디버깅이 되고 있는지, 윈도우가 전역적으로 디버깅모드 인지 확인하는 기초적인 방법 입니다.
Windows 32bit 프로세스(x86)에서 사용가능한 ASM을 이용하며 x64(AMD64)에서는 ASM를 64bit용으로 수정하시면 됩니다.
Source Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
|
/******************************************************************************
* _ _ _ _ __ _____ _ _
*| | | | | | | |/ / | __ \ | | | |
*| |__| | __ _ ___ | |_ _| ' / | | | | _____ __ | | __ _| |__
*| __ |/ _` |/ _ \_ | | | | | < | | | |/ _ \ \ / / | | / _` | '_ \
*| | | | (_| | __/ |__| | |_| | . \ | |__| | __/\ V / | |___| (_| | |_) |
*|_| |_|\__,_|\___|\____/ \__,_|_|\_\ |_____/ \___| \_(_) |______\__,_|_.__/
*
* Copyright (c) HaeJuK Dev Lab All Rights Reserved.
*
*******************************************************************************/
/**
@file CheckTrapFlag.cpp
@brief
@author Woolim Choi
@date Create 2017.10.25
@ntoe Trapflag의 값을 확인하여 Debug를 감지한다.
*/
bool CheckTrapFlag()
{
bool bException = false;
__try
{
__asm
{
push fd
or dword ptr[esp],0x100
pop fd
nop
}
}
__except(EXCEPTION_EXECUTE_HANDLER)
{
bException = true;
return bException;
}
return bException;
}
|
cs |
728x90
댓글
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- ReFS
- C++
- C
- C# 고급 기술
- CMake
- 울릉도
- OpenSource
- DLL
- 스쿠버다이빙
- PowerShell
- 리눅스
- 블루버블
- 디자인패턴
- Windows
- 암호화
- 성산블루버블
- 현포다이브
- 블루버블다이빙팀
- Thread
- 서귀포블루버블
- C#
- Build
- 제주도
- ip
- C#.NET
- Linux
- 서귀포
- 패턴
- 윈도우
- 블루버블다이브팀
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
글 보관함