티스토리 뷰
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 |
반응형
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- Linux
- 제주도
- CMake
- 블루버블
- 서귀포블루버블
- 외돌개
- 스쿠버다이빙
- 스쿠버 다이빙
- effective
- 블루버블다이브팀
- C#
- 성산블루버블
- C++
- C# 고급 기술
- OpenSource
- 네트워크 정보
- 현포다이브
- Build
- C
- script
- PowerShell
- 블루버블다이빙팀
- 패턴
- Effective c++
- 암호화
- C#.NET
- 서귀포
- Windows
- 울릉도
- DLL
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함
250x250