일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- 프로그래밍
- 알고리즘
- BOJ
- 코딩
- 공룡책
- a tour of go
- Nebula
- JUCE라이브러리
- c++ heap
- C++
- LOB
- Docker
- go
- 리듬게임
- C++ gui 라이브러리
- C언어
- JUCE
- C++ library
- 백준
- JUCE library
- go channel
- 운영체제
- gui
- C++ gui
- tour of go
- OS
- 자료구조
- 연결리스트
- JUCE 튜토리얼
- vim-go
Archives
- Today
- Total
CafeM0ca
[리버싱]abex crackme1 본문
반응형
abex라는 사람이 어셈블리로 만든 파일이라고 한다.
리버싱 시작한지 30분도 안됐지만 풀 수 있었다.
디버거는 immunity debuger를 사용할 것이다. (뭔가 올리디버거는 80~90년대 느낌나서 싫더라)
처음 열어보면 아래와 같이 신기하게 생긴 창이 생성됀다.
어셈블리 명령어,hex값,스택,레지스터가 보인다.
한줄씩 쭉 실행시키다보면(F8) 메시지 박스가 보인다. 하드를 CD-ROM으로 바꾸라고 하는데
자세히보면 맨 첫줄 0x40101F에서 JMP가 하나 있고 0x401024에서 조건문이 하나 있다.
Ok, I readlly think that your HD is a CD-ROM! :p 를 띄워줘야할꺼 같은 느낌이 드는데 3가지 방법이 보인다.
1. JMP를 0x401021에서 0x40103D로 바꿔주는 것.
2. CMP에서 EAX와 ESI를 비교해서 JE(같으면) 0x40103D로 점프하는데 EAX와 ESI를 똑같이 맞춰주는 것.
3. JE(같으면)을 JNE(같지않으면)으로 바꿔주는 것.
3가지중에 아무거나 선택해서 어셈블리를 수정해주면 됀다. 여기서는 1번 방법을 사용했다.
처음 풀때 3번방법으로 접근을 했었는데 다른사람 풀이를 보니까 1,2번 방법도 있더라.
반응형
'Hacking > abex crackme' 카테고리의 다른 글
[리버싱]abex crackme3 (0) | 2018.01.16 |
---|---|
[리버싱]abex crackme2 (0) | 2018.01.15 |
Comments