기타 이론

[Whois] 어셈블러 - 해석2

美味코드 2021. 11. 29. 22:22

IDA를 이용하여 f5를 누르고, Pseudocdoe를 확인해 주었습니다.

v4의 입력을 받는 것을 확인하고 assembly_calc 라는 함수로 이동해서 어떤 기능을 하는지 확인해 봅시다.

 

a1을 인자로 받아주고, a1 xor 0xabcd 값이 0x123464443 값과 일치하면 flag를 뱉어냅니다.

 

and & 곱하기 연산, 두 값이 모두 1일 때 1
or | 더하기 연산, 한 값이라도 1이면 1
xor ^ 두 값이 다를 때, 1이 홀수개일 때 1

 

123464443과 abcd를 xor연산한 값이 a1일 때와 같은 말이므로

 

10진수값을 입력하여 해결했습니다.