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 |
Tags
- #파밍
- 리버싱
- springframework
- GraphQL
- java
- #크랙미 10번
- leetcode
- #크랙미3번
- #크랙미2번
- java8
- #심플즈 크랙미
- #크랙미
- #크랙미 9번
- #abex
- #보안이슈
- Spring
- #abex크랙미
- #고클린
- #크랙미 5번
- #보안뉴스
- #크랙미4번
- #심플즈
- #리버싱
- Easy
- #abex크랙미4번
Archives
- Today
- Total
Halo World
[크랙미] Simples 크랙미 14번 풀이 본문
심플즈 크랙미 14번 문제는
Key 값이 154C-6505-D2ADD0F3-A223-2870 일때 Name은 무엇인가
힌트 : Name은 두자리인데.. 알파벳일수도 있고 숫자일수도 있고..
정답인증은 Name의 MD5 해쉬값(대문자)
이다. 지금까지는 주로 키 값을 찾는 문제였다면 이번 문제는 키에 맞는 Name 값을 찾는 문제이다.
지금까지 포스팅하며 풀었던 크랙미 문제 중에서 가장 어려웠던 것 같다..
첫 실행시 화면이다. 예시로 위와 같이 입력해 보았다.
키 값이 틀려 성공메시지가 뜨지 않는다.
F8로 실행시켜서 성공메시지가 있는 곳으로 가보았다.
위쪽에 하나씩 브레이트 포인트를 걸며 실행시켜보면
위 사진의 브레이크 포인트 부분을 지나면 키 값이 생성되는 것을 알 수 있다.
내가 입력한 haloworld에 대한 키 값은 위와 같다.
F7로 함수 내부로 들어가서 좀더 자세히 살펴보다 보면 위와 같은 부분이 나오는데,
이 부분이 키 값중, 가장 처음 부분 즉 제시된 키 값중 154C 값을 생성하는 부분이라는 것을 알 수 있다.
어셈블리어로 보면 복잡하므로 위 부분을 C코드로 바꾸어 실행해보면 Name 값을 구할 수 있다.
위와 같이 C코드를 작성한다.
알파벳을 경우에 수에 맞게 하나씩 대입하여 키 값을 생성하고, 생성된 키 값과 154C 값을 비교해 보는 것이다.
이렇게 작성하고 실행시켜보면
Name 값은 CT가 나온다!
'보안 > REVERSE ENGINEERING' 카테고리의 다른 글
[크랙미] Simples 크랙미 13번 풀이 (0) | 2016.05.01 |
---|---|
[크랙미] Simples 크랙미 12번 풀이 (1) | 2016.04.30 |
[크랙미] Simples 크랙미 11번 풀이 (0) | 2016.04.30 |
[크랙미] Simples 크랙미 10번 풀이 (0) | 2016.04.30 |
[크랙미] Simples 크랙미 9번 풀이 (0) | 2016.04.28 |