| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- 누구나 쉽게 즐기는 c언어 콘서트 개정판 14장 연습문제풀이
- 누구나 쉽게 즐기는 c언어 콘서트 개정판 10장 연습문제풀이
- covetknowledge
- 누구나 쉽게 즐기는 c언어 콘서트 개정판 10장 연습문제 답
- OEP
- codeengn basic 17
- codeengn advanced 3
- codeengn basic 20
- 누구나 쉽게 즐기는 c언어 콘서트 개정판 13장 연습문제풀이
- CodeEngn
- codeengn 13
- 누구나 쉽게 즐기는 c언어 콘서트 개정판 13장 연습문제
- codeengn basic 16
- codeengn basic 19
- codeengn advanced 1
- 리버싱
- StolenByte
- codeengn basic 18
- break
- Reversing
- codeengn basic 14
- 반복문
- 누구나 쉽게 즐기는 c언어 콘서트 개정판 13장 연습문제 답
- upx 언패킹 명령어
- 누구나 쉽게 즐기는 c언어 콘서트 개정판 14장 연습문제 답
- 조건문
- 프로그래밍 언어
- 누구나 쉽게 즐기는 c언어 콘서트 개정판 14장 연습문제
- java
- codeengn basic 15
- Today
- Total
One's Knowledge
CodeEngn basic 17번 문제 풀이 본문
CodeEngn basic 17번
Key 값이 BEDA-2F56-BC4F4368-8A71-870B 일때 Name은 무엇인가.
힌트 : Name은 한자리인데.. 알파벳일수도 있고 숫자일수도 있고.. 정답인증은 Name의 MD5 해쉬값(대문자)

보다시피 패킹되어 있지는 않다.

Name과 Key를 써서 Check it!을 누르면 되나보다.

성공구문과 실패구문 문자열을 찾았다.

분기점을 찾았다. CALL 00404C3C를 하고 점프문이 있는것으로 보아 해당 함수에서 비교한다고 볼 수 있다.
EDX의 값이 실행할때마다 자꾸 바뀐다. 쉽지 않다.

EAX에 내가 입력한 1234가 있고 EDX에 key로 추정되는 값을 볼수 있다.

함수 내부로 들어가 보니 진짜 비교한다.

다시나와서 일단 00404C3C는 EAX랑 EDX랑 비교하는 함수이고 그 위에 함수가 EDX의 값(key)을 만드는 함수이다.
들어가보자

48byte 공간을 할당하고 지역변수들을 세팅하는것을 볼수 있다.
더 내려보자

반복문이 나오고 그안에서 연산을 야무지게 한다.

반복문 끝나고 레지스터 상태이다. ESI를 보면 1714C240을 볼수 있는데 1714가 익숙하다.
최종 Name이랑 Key 비교할때 EDX에 1714-가 있었다. key의 앞부분 4자리를 만드는 코드인것을 볼 수 있다.
문제를 다시 보자.
Key 값이 BEDA-2F56-BC4F4368-8A71-870B 일때 Name은 무엇인가.
힌트 : Name은 한자리인데.. 알파벳일수도 있고 숫자일수도 있고.. 정답인증은 Name의 MD5 해쉬값(대문자)
key 앞부분 생성 로직을 구현하고 한개씩 넣어보면 되겠다.


잘나온다.


F인것을 알 수 있다.
넣어보자


참고로 name 3글자 이상 쓰라고 한다.

JGE를 JMP로 바꿔서 넘어가자

성공!!
key가 BEDA-2F56-BC4F4368-8A71-870B 일때 Name의 값은 F이다.
F를 MD5에 돌리면 800618943025315f869e4e1f09471012이 나온다.
대문자라 했으니 최종적으로 정답은 800618943025315F869E4E1F09471012이다.
정답 : 800618943025315F869E4E1F09471012
'리버싱 > CodeEngn 문제풀이' 카테고리의 다른 글
| CodeEngn basic 19번 문제 풀이 (0) | 2025.06.23 |
|---|---|
| CodeEngn basic 18번 문제 풀이 (1) | 2025.06.20 |
| CodeEngn basic 16번 문제 풀이 (0) | 2025.06.11 |
| CodeEngn basic 15번 문제 풀이 (0) | 2025.06.08 |
| CodeEngn basic 14번 문제 풀이 (0) | 2025.06.07 |