본문 바로가기

Study/Reverse Engineering

dreamhack : simple-operation write-up

728x90

 

Step1. main 함수 분석

 

main 함수에서 

Random number와 Input 값을 XOR연산해주면 어떤 값이 나오는데

연산 값과 "a0b4c1d7"같으면 "Congrats!"이 나오는 것으로 확인

 

이게 아니고

for문을 살펴보면

i=0일때, s[7-0] = s[7]을 s1[0]에 저장

i=1일때, s[7-1] = s[6]을 s1[1]에 저장

...

i=5일때, s[7-5] = s[2]을 s1[5]에 저장

i=6일때, s[7-6] = s[1]을 s1[6]에 저장

i=7일때, s[7-7] = s[0]을 s1[7]에 저장

거꾸로 저장하는 것을 알 수 있음!!!!

저기 주어진 a04c1d7"이 아니라 거꾸로 "7d1c40a"이다.

 

step2. 역연산

XOR연산은 A ^ B = C이면 C ^ A = B을 만족.

그리고 입력받을 %d로 형식지정자가 되어있으므로 10진수로 넣어야함!!! 따라서 3985774284를 넣으면 된다.

 

 

 

 

'Study > Reverse Engineering' 카테고리의 다른 글

dreamhack : rev-basic-4 write-up  (1) 2024.05.29
dreamhack : rev-basic-2 write-up  (0) 2024.05.15
dreamhack : rev-basic-3 write-up  (0) 2024.05.13
dreamhack : patch write-up  (0) 2024.05.11
dreamhack : rev-basic-1 write-up  (0) 2024.05.03