https://dreamhack.io/wargame/challenges/17/
이전 문제들과 동일하게 문자열을 입력하고 조건에 맞으면 Correct, 틀리면 Wrong을 출력하는 프로그램이다.
전체적인 코드는 이전의 문제들과 같다.
sub_140001000
함수에 들어가 보자
0x18번 반복문을 돌며 byte_140003000[i]에 저장되어 있는 값과 (i xor (입력값+i) + 2 * i) 를 비교하는 프로그램이다.
byte_140003000에 저장된 값은 다음과 같다.
byte_140003000에 저장되어 있는 값과 주어진 수식을 통해 입력값을 구할 수 있을 것 같다.
주어진 수식을 역으로 계산해 보면
I_am_X0_xo_Xor_eXcit1ng
이 나오고 이것을 입력으로 넣어 주면 Correct 가 잘 나오는 걸 볼 수 있다.
'드림핵 워게임' 카테고리의 다른 글
[드림핵/워게임] rev-basic-4 (0) | 2023.09.09 |
---|---|
[드림핵/워게임] rev-basic-2 (0) | 2023.09.09 |
[드림핵/워게임] rev-basic-1 (0) | 2023.09.09 |
[드림핵/워게임] rev-basic-0 (0) | 2023.09.04 |
[드림핵/워게임] basic_exploitation_002 (0) | 2023.08.17 |