문제에서 주어진 파일 IDA에서 열어봄. 바로 디컴파일해줌.
대충 코드 보면..
- buf2에 ?;FJDnv8dw8lRulyRmmt 이 문자열 복사함
- buf1에 flag 값 입력받음
- buf1에 반복문 이용한 계산 넣음
- buf1이랑 buf2 문자열 비교해서 옳은 플래그인지 판단
그러니까 반복문을 돌렸을 때 buf1에 최종적으로 이 ?;FJDnv8dw8lRulyRmmt 값이 들어가 있으면 됨..
-> 역으로 계산하면 됨.. 코드 작성은 지피티 도움..
buf2 = "?;FJDnv8dw8lRulyRmmt"
flag = ""
for c in buf2:
decrypted = ((ord(c) + 3) ^ 0x1B) ^ 0x11
flag += chr(decrypted)
print("입력해야 할 플래그:", flag)
이거 돌려주면 결과가 나옴.
H4CGM{s1mp1e_rev_zz} 입력해주니 정답이 맞았다고 나옴.
개인 공부 목적으로 작성된 글이며, 틀린 정보나 해석이 있을 수 있음.
https://h4ckingga.me/challenges#Season1%20:%20Keygen-5
H4CKING GAME
h4ckingga.me
'소학회 > 워게임' 카테고리의 다른 글
[reversing]Dreamhack_rev-basic-0 (0) | 2025.03.31 |
---|---|
[web]Dreamhack_simplesqli (0) | 2025.03.25 |
[web]Dreamhack_csrf-2 (0) | 2025.02.04 |
[web]Dreamhack_csrf-1 (0) | 2025.02.04 |
[web]Dreamhack_xss-2 (0) | 2025.01.28 |