ICEWALL

[Reversing] virtual / 80

Syine Mineta 2019. 7. 20. 17:47

Download: virtual.elf

 

64bit ELF 바이너리 파일이다.

 

뭔가 많은 작업을 하는데, 주목할 부분은 하나도 없는 쓸데없는 과정들이다. 실제로 v16은 이미 고정되어 있는 v10~v15 사이의 값과 sub_401892 함수를 통해 이루어지므로 관건은 strcmp를 통과해 아래 부분에 도달하는 것이다.

 

0x40197E에서 test eax, eax; 로 확인한다. 만약 여기서 ZF (Zero Flag) 를 set 할 수 있다면 exit 되지 않고 정상적으로 플래그를 출력할 수 있을 것이다.

 

0x401980에 BP를 건 뒤 ZF를 set 하고, continue 하면 된다.