반응형

http://52.79.224.215

Rev

How you find my flag?

150

 

32bit elf 파일이 주어진다.

 

main함수에서 flag의 마지막 부분을 찾을 수 있고, I5_My 함수에서 함수 명이 flag의 중간 부분이 된다.

 

그리고 I5_My에서 문자열을 xor 연산 하는 것을 알 수 있다. 이 xor연산을 돌려주면 flag의 처음 부분이 된다.

 

main() 함수와 I5_My() 함수. IDA 32bit을 이용하면 볼 수 있다.

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#python3
= "D : : h I ^ L q ] b 9 x 9 U"
 
= list(map(str, p.split()))
 
flag_b = [0]*len(n)
 
for i in range(0len(n)):
    flag_b[i] = ord(n[i]) ^ 0xa
 
flag = ""
for j in range(0len(n)):
    flag += chr(flag_b[j])
print(flag)
 
cs

 

반응형

+ Recent posts