일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- ctf-d
- Reversing
- 디스크
- 포렌식
- Autoware
- 파일해시생성
- Frida
- tar
- 케쉴주
- K-sheild Jr
- 리버싱핵심원리
- ZIP
- Interceptor
- John the ripper
- Multimedia
- 모바일프로그래밍
- disk
- 써니나타스
- K-shield Jr 10기
- SW에듀서포터즈
- 침해사고대응
- crack
- 안티디버깅
- upx
- shadow
- Android
- swing
- CodeEngn
- Mobile
Archives
- Today
- Total
물먹는산세베리아
[CodeEngn] Basic RCE L04 본문
* SWING CTF STUDY_REVERSING
주어진 파일을 실행하면 '정상'이 출력된다.
하지만 Immunity Debugger로 열면 '디버깅 당함'이 반복해서 출력된다.
문제에서 디버거를 탐지하는 함수 이름을 찾으라고 했으므로, 디버깅 중인지 아닌지 판별하는 flag 값을 갖고 있는 함수를 찾으면 될 것 같다.
이 함수를 실행시키면 정상인지 디버깅 당하는 중인지 결과가 출력되므로 일단 이 함수 안으로 들어갔다.
들어가서 F8을 눌러 계속 실행해보면 위 코드를 볼 수 있는데 이는 IsDebuggrPrEsent() API 코드로 PEB 주소를 구해 PEB.BeINGDeBugged 몜뻐예 접근하고 있다. 마지막 EAX+2의 값이 1일 때면 디버깅 중이고 0이면 일반 실행이므로 저 위치로 가 1인 걸 확인한 후 0으로 바꾸면 '정상'이 출력된느 걸 볼 수 있을 것이다.
현재 값은 01로 이 함수가 결국 디버깅중인지 아닌지 판별해주는 flag 값 역할을 했음을 알 수 있다.
0으로 바꾸고 실행했더니 디버깅 중임에도 '정상'이 출력됐다.
답: IsDebuggerPresent
'Waregame & CTF > Reversing' 카테고리의 다른 글
[dreamhack.io] rev-basic-0 (0) | 2021.09.11 |
---|---|
[CodeEngn] Basic RCE L17 (0) | 2021.02.27 |
안티디버깅(Anti-Debugging) 기초 (0) | 2021.02.23 |
[CodeEngn] Basic RCE L02 (0) | 2021.02.22 |
패킹, 언패킹 (0) | 2021.02.20 |