소학회/워게임

[reversing]H4CKING GAME_Season1 : Keygen

haerim9.9 2025. 5. 13. 22:20

문제에서 주어진 파일 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