반응형
https://dreamhack.io/wargame/challenges/899
주어진 링크로 들어가면 이렇게 뜬다..
1_c_3_c_0__ff_3e 메뉴를 가장 좋아한다길래 그냥 넣어봤는데
당연히 틀림..
문제에서 제공하는 파일을 열어보기로 했다.
이 부분이 플래그를 구하는 부분인거 같음. org값을 알아내면 될거같은데 연산이 이해가 안돼서 chatgpt를 함 써봤다.
대충 보니까 주어진 문자열을 2진수로 바꾼다음에 int로 변경해야 되는 것 같다.
챗지피티 여러번 사용해봤는데 연산은 항상 틀리는 경향이 있어서 연산은 믿지 않고 그냥 직접하기로 했다.
언더바는 무슨 값으로 바꿔야 될지 잘 모르겠어서 코드 다시한번 뜯어봤다.
if ~res & 0xf == 0x4:
st[16-i-1] = '_'
여기서 res가 4비트 숫자고 ~는 반전 연산자다.
위 조건문에서 res를 비트 반전시킨 결과가 0x4랑 같으면 _를 대입하는 것 같다...
계산해봤는데 11일때 가능함. 2진 수로 하면 1011로 표기하면 될 것 같다.
1_c_3_c_0__ff_3e
0001 1011 1100 1011 0011 1011 1100 1011 0000 1011 1011 1111 1111 1011 0011 1110
눈알 아프다
아무튼 값을 변환했고 구한거를 십진수로 다시 바꿔보았다.
2002760202557848382
해당 10진수를 메뉴창에 입력해보면 될 것 같다.
flag가 나왔다..!
반응형
'학회_공부해요 > 워게임' 카테고리의 다른 글
[Dreamhack] Write up - simple-operation (0) | 2024.02.06 |
---|---|
[Dreamhack] Write up - set-int (0) | 2024.01.23 |
[Dreamhack] Write up - Carve Party (0) | 2024.01.16 |
[Dreamhack] Write up - Batch Checker (0) | 2024.01.16 |
[Dreamhack] Write up - 산타 할아버지도 힘들어요 풀이 (1) | 2024.01.07 |