Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- hackingcamp
- 라이트 업
- 변수
- 드림핵
- 파이썬
- probgame
- reversing.kr
- 풀이
- ctf
- 2021
- vsCode
- 라업
- write up
- 리버싱
- reversing
- PYTHON
- 코드엔진
- 라이트업
- web
- write-up
- Basic
- 리버스 엔지니어링
- 시탭
- c언어
- ShaktiCTF
- 워 게임
- 뭉뭉
- 강의
- 히공
- 해킹캠프
Archives
히공
코드엔진 - basic 04 본문
728x90
4번 문제를 풀어보겠습니다.
이러한 문제입니다.
실행 했을때 이런식으로 뜨는군요.
x32dbg로 실행했을때는 디버깅 당함이라고 출력됩니다.
자 그러면 문자열 검색으로 디버깅 당함을 검색해 봅시다.
여기를 들어가 봅시다.
보면
IsDebuggerPresent라는 함수의 반환값을 가지고 디버깅 당함, 정상을 분류하는것으로 볼 수 있습니다.
부가설명 : je,jne 는 zf(제로플래그)라는 것의 따라 점프를 할지 말지를 결정합니다.
eax가 참일때 (0이 아니란 뜻) test eax, eax를 실행하면 zf가 0이 됩니다.
je는 zf가 0일때 점프하지 않고, jne는 zf가 0일때 점프합니다.
같은 원리로 cmp도 zf를 바꾸는 역할을 합니다.(조금 달라요)
그러면 IsDebuggerPresent가 디버깅 감지 함수이겠지요? 안티디버깅이라고 불리는 녀석입니다.
답 : IsDebuggerPresent
'reverse engineering > CodeEngn' 카테고리의 다른 글
코드엔진 - basic 06 (6) | 2020.09.16 |
---|---|
코드엔진 - basic 05 (0) | 2020.09.10 |
코드엔진 - basic 03 (0) | 2020.09.10 |
코드엔진 - basic 02 (0) | 2020.09.10 |
코드엔진 - basic 01 (0) | 2020.09.10 |
Comments