일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- ZIP
- upx
- K-sheild Jr
- 침해사고대응
- 안티디버깅
- Multimedia
- Frida
- 포렌식
- John the ripper
- shadow
- SW에듀서포터즈
- 파일해시생성
- 모바일프로그래밍
- Autoware
- 디스크
- 써니나타스
- ctf-d
- Android
- crack
- Interceptor
- disk
- K-shield Jr 10기
- CodeEngn
- tar
- Reversing
- swing
- 케쉴주
- Mobile
- 리버싱핵심원리
Archives
- Today
- Total
물먹는산세베리아
abex crack me #1 본문
* SWING CTF STUDY_REVERSING + 2021-2 REVERSING STUDY
주어진 exe파일을 실행하면 위와 같은 메세지 창이 뜬다. '너의 HD가 CD-ROM이라고 생각하게 하라'
하지만 확인 버튼을 누르면 아래와 같은 메세지 창이 뜬다.
디버거로 까서 명령어를 바꿔주면 다른 메세지창을 열 수 있을 것 같았다.
Immunity Debugger로 해당 파일을 열어보았더니 아까 본 메세지 박스 외에 "YEAH"라는 타이틀을 가진 메세지 박스가 있음을 알 수 있었다.
F8를 눌러 하나씩 실행해 보면 현재는 Error 창이 떴다.
코드를 자세히 보면 JE SHORT abex' _cr.0040103D라는 게 보이는데 해당 주소로 가면 YEAH창에 대한 내용이 들어 있음을 볼 수 있다.
JE는 비교하는 값이 같으면 해당 주소로 jump한다. 위에서 EAX,ESI를 cmp로 비교하고 있는데 이 둘의 값이 다르기 때문에 40103D로 이동하지 않고 Error를 출력했던 것이다.
따라서 JE 대신 JNE를 넣어주거나
JE(JZ) | a==b, 제로플래그 1 |
JNE(JNZ) | a!=b, 제로플래그 0 |
EAX값과 ESI값이 같도록 바꿔주면 된다.
Ctrl+F2를 눌러 다시 실행하였고 00401026의 JE를 JNE로 바꾸어 주었는데 자동적으로 JMZ로 바뀌었다.
그 후 다시 하나하나 실행을 해 보니 이번에는 0040103D가 실행되었고 아래처럼 메세지 창에"Ok, I really think that your HD is a CD-ROM! :p"이 출력되었다.
'Waregame & CTF > Reversing' 카테고리의 다른 글
[Codeengn] Basic RCE L06 (0) | 2021.02.20 |
---|---|
[SuNiNaTaS] 9번 (0) | 2021.02.18 |
[xcz.kr]9번 (0) | 2021.02.18 |
abex' crackme #3 (0) | 2021.02.17 |
리버싱이란? (0) | 2021.02.16 |