root@hfairy:~$

[HackCTF] Reversing - Reversing Me 풀이 본문

워게임/HackCTF

[HackCTF] Reversing - Reversing Me 풀이

hfairy 2021. 10. 31. 23:38

이번 문제에는 코드가 작성되어 있다.

전체 코드를 확인해보면 위의 사진과 같은데 처음엔 코드를 실행해봤지만 원하는 답을 얻진 못했다.

코드를 분석해서 해결하는 문제인 거 같다.

 

원하는 값을 얻기 위해 for문에 주어진 조건을 확인해봐야할 것 같다.

입력값(enter)과 serial의 길이가 같으면 for문을 실행한다.

enter[i] ^ (i % 2)에서 enter값을 0 또는 1로 XOR 연산(두 값을 비교해 값이 같으면 0, 다르면 1 계산)을 실행하는 것을 확인했다.

XOR연산은 a^b=c이면 a=c^b라는 특징을 가지고 있다. 따라서 enter[i] ^ (i % 2) == serial[i]는 enter[i] == serial[i] ^ (i % 2)임을 알 수 있다.

주어진 조건과 특징들을 활용해 코드를 작성하면 아래 사진과 같다.

코드를 실행시키면 플래그값을 얻을 수 있다~!

성공!

 

HackCTF{hey_success_D0_y0u_kn0w_r3verse_3n9ineer1n9?}

'워게임 > HackCTF' 카테고리의 다른 글

[HackCTF]Reversing - Handray 풀이  (0) 2021.11.05
[HackCTF] Reversing - Welcome_REV 풀이  (0) 2021.10.31