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 |
Tags
- 취약점
- edge trigger
- cbpf
- wnourefresh
- Docker
- DOCKER-USER
- BOF
- NAPT
- ncurses
- 어셈블리어
- rfc5508
- level trigger
- mvwin
- .nret core 배포
- REDIS
- wrefresh
- C언어
- LOB
- vtable
- doupdate
- ioctl
- epoll_wait
- packet flow
- 풀이
- packet filter
- epoll
- architecture
- Compiler
- iptables
- .net core 7
Archives
- Today
- Total
Tuuna Computer Science
[Reversing.kr] Easy_Crackme! 비밀번호찾기(find password) 본문
[Reversing.kr ] Easy_Crackme! 비밀번호찾기(find password)
Reversing.kr에서 받을 수 있는 초심 리버서 문제풀이용중 하나이다.
프로그램을 실행 시키면 일정값을 집어넣어야 하는 구간이 생긴다.
만일 값이 틀린다면 Inccorrect Password 라는 문구가 뜨게된다.
이제 본격적으로 이 프로그램의 비밀번호를 찾아보자!
Ollydbg로 바이너리를 분석해본다.
(IDA Pro는 그래프를보여주기때문에 매우 편리하다....)
(하지만 아직 익숙하지 않으므로 패스...)
일단 먼저 serchfor string해서 문자열을 찾아보자
cingratulation이 보인다. 이 문자열이 있는 주소로 이동해보장
일단 cmp분기점이 있는 구간을 위주로 보기 쉽게 브리이크를 걸어보았다.
ㅎㅎ 나중에 풀어야한다.
일단 위로 올라가면 GetDigItemTextA라는 입력받는 API를 볼 수 있다.
일단 위의 CMP를 보면 [ESP+5]와 61(아스키 코드로 a)와 비교하고 있다.
스택구조를 한번 보자.
처음 이값을 입력했을 때 ESP+5위치의 입력한 a와 비교한다.
F8을 눌러 다음으로 진행해보자
[ESP+A]자리에 5Y를 비교하고 있다.
계속 디버깅을 진행해보자
[ESP+10]위치에서 R3versing과 비교하고 있다.
또 디버깅을 계속해보자.....
마지막에 [ESP+4]위치에서 45(E)와 비교하고 있다.
즉, 정리해보면
[ESP+4] = E [ESP+5] = a [ESP+A] = 5y [ESP+10] = R3versing
정답은 Ea5yReversing이다!
PS. IAD Pro로 HEX-RAY하면 바로 답을 찾을 수 있다.....
'Reversing' 카테고리의 다른 글
[ UPack의 PE 헤더 분석 ] (0) | 2018.06.12 |
---|---|
plt와 got 개념알기 feat. static or dynamic(Linking) (0) | 2018.05.09 |
[Reversing.kr] Easy_ELF 비밀번호 찾기 (리버싱) (0) | 2018.04.15 |
abex ' 2nd crackme:1 (시리얼 값 찾기) (0) | 2018.04.11 |
Hitcon Training LAB 1 (0) | 2018.04.11 |
Comments