티스토리 뷰
Challenges : Basic 07
Author : abex
Korean :
컴퓨터 C 드라이브의 이름이 CodeEngn 일경우 시리얼이 생성될때 CodeEngn은 "어떤것"으로 변경되는가
English :
Assuming the drive name of C is CodeEngn, what does CodeEngn transform into in the process of the serial construction
1) 우리는 이제 06.exe 파일을 뜯어볼것이다
일단 가장 먼저 해볼것이 패킹이 되어있는지 여부를 알아볼것이다
PEid 툴을이용하여 패킹이 되어있는지 뜯어보자.
뜯어본 결과는 패킹이 되지않아있는 exe파일이다.
2) 이제 올리디버거로 이용하여 알아보도록하자
올리디버거로 뜯어보면 GetDrive부분이 있는데 여기부분은 C드라이브의 이름을 가져오기 위함이다. 이때 설정해볼것이. 실습환경의 C드라이브 이름을 CodeEngn으로 바꾸어보면서 진행해볼것이다.
F9로 계속실행하다가 적당한 위치, 메시지를 뿜는부분을 유심히 보아서 브레이크 포인트를 하나씩 걸어보면서 진행할 것이다.
생각보다 쉬운 구조를 가지고 있어서, EAX Value 만 잘 유추한다면 EAX값으로 잘들어오는것을 확인할 수 있다.
CALL의 위치에서 확인을 해보면 CMP값 비교전에 EAX값으로 잘 들어가는것을 확인할 수 있다.
여기서 가장 중요한것은 C드라이브 이름의 값들을 하나씩 증가시키면서 알파벳을 바꿔주었다는것을 확인하면된다. 두번반복하였을경우! 주의!
생각보다 간단한 문제였고, 가장 주의할점은 코드엔진 C드라이브 설정이 가장중요했다.
코드엔진 정답제출시 C드라이브가 기준이다.
'Security' 카테고리의 다른 글
[리버싱] Code Engine 9 문제 풀이 (0) | 2018.03.25 |
---|---|
[리버싱] Code Engine 8 - 문제풀이 (0) | 2018.03.25 |
[리버싱] Code Engine - 6 문제 풀이 (0) | 2018.03.25 |
[리버싱] Code Engine - 5 문제 풀이 (0) | 2018.03.23 |
[리버싱] Code Engine 4 - 문제 풀이 (0) | 2018.03.23 |
- Total
- Today
- Yesterday
- 개발하는 관광이
- C언어
- 백준알고리즘
- MVC
- node.js
- Controller
- Spring
- 노드
- db
- 알고리즘
- TensorFlow
- 머신러닝
- 학교
- 감자코딩
- Algorigm
- 텐서플로우
- 복습
- 코드엔진
- C langauge
- node
- 백준
- BFS
- programming
- 초보자를 위한 C언어 300제
- Android
- 감자개발자
- 안드로이드
- 스프링
- 리버싱
- 프로그래밍
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |