티스토리 뷰
반응형
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
- process
- C#
- string
- 블럭암호화
- 네트워크 카드 이름
- cpu 이용률
- C# 고급 기술
- C
- C++
- C#.NET
- 디자인패턴
- cpu 정보
- 네트워크 연결
- 디지털서명
- 암호화
- StringFormat
- 대칭키
- 네트워크설정
- 네트워크 정보
- 패턴
- 인젝션
- 해시
- 백터
- bit
- 디자인 패턴
- 최우림
- RSA
- 블록암호화
- IV
- cpu 점유율
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함