Wargame/Reversing

[Dreamhack.io] Rev-basic-3

youung 2022. 11. 7. 16:05
728x90
반응형

main

문자열을 비교하는 함수에 들어간다.

 

 

 

 

sub_140001000

함수 안으로 들어가보면, 반복문이 실행되는 것을 확인 할 수 있다.

반복문의 식을 보면, 사용자가 입력한 값으로 연산을 한다.

그러면 저 식을 반대로 계산해서 돌려 놓는다면 암호의 값을 알아낼 수 있을 것이다.

(역연산)

 

 

byte_140003000

 

byte = [0x49, 0x60, 0x67, 0x74, 0x63, 0x67, 0x42, 0x66, 0x80, 0x78, 0x69, 0x69, 0x7B, 0x99, 0x6D, 0x88, 0x68, 0x94, 0x9F, 0x8D, 0x4D, 0xA5, 0x9D, 0x45]
s = ''
 
for i in range(0, 24):
    s += chr((byte[i] - i*2) ^ i)
 
print(s)

위 코드로 반복문을 돌려서 암호를 알아낸다.

 

 

 

FLAG

 

DH{I_am_X0_xo_Xor_eXcit1ng}

728x90
반응형