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
- Webhaking
- 순서도
- 소프트웨어보안
- XSS
- 소프트웨어
- 비박스
- Web
- 해킹
- 네트워크보안
- CodeEngn
- 시스템해킹
- bee-box
- network
- reversing
- System
- webhacking
- hacking
- 리버싱
- WarGame
- 시스템
- 모의해킹
- ftz
- 알고리즘
- 웹해킹
- 드림핵
- TCP
- dreamhack
- 웹
- 워게임
- 네트워크
Archives
- Today
- Total
Without a Break
[Dreamhack] rev-basic-4 본문
문제 파일을 디버거로 열었을 때 모습
corret를 출력하는 입력값을 찾아야하니 문자열을 찾아봤다.
corret의 위치로 이동해보자
corret의 위쪽을 보면 test eax,eax에서 입력값과 정답을 비교한다는 것을 알 수 있다.
test eax,eax의 위 코드를 보면 7FF62FFD1000에 정답이 있는 것 같다. 이 위치로 이동해보자
이동해보니 27개의 문자열과 입력값을 비교한다는 것을 알 수 있었다.
코드는 다음과 같다.
1. eax에 첫 번째 입력값을 넣고 4비트 shift
2. ecx에 첫 번째 입력값을 넣고 4비트 shift
3. ecx와 F0을 and 연산
4. eax와 ecx를 or 연산하여 eax에 저장
5. 그 후, 7FF62FFD3000 값을 가져옴
HEX DUMP를 살펴보니 27개의 문자가 있었다.
파이썬 코드를 작성해서 돌려봤더니
정답이 나왔다.
'Reversing > Wargame' 카테고리의 다른 글
[Dreamhack] rev-basic-8 (0) | 2023.08.16 |
---|---|
[Dreamhack] rev-basic-6 (0) | 2023.08.16 |
[Dreamhack] rev-basic-3 (0) | 2023.08.16 |
[Dreamhack] rev-basic-1 (0) | 2023.08.13 |
[Dreamhack] rev-basic-0 (0) | 2023.08.13 |