Reversing
codegate2017 angrybird
ExploitSori
2018. 2. 23. 04:03
바이너리를 실행하면 실행이 되지 않는다.
.text:0000000000400778 cmp eax, 1
요래 바꿔주고 > 안그러면 아래분기 jz에서 _exit로 뛰어버려 꺼진다.
아랫부분도 코드패치를 알아서 쓱싹쓱싹 해주면 된다. exit하는 부분이라 nop로 분기처리해도 되고 조건을 적당히 맞춰줘도 된다.
나머지는 앵거로 쓱.싹.해주면 된다.
import angr
p = angr.Project("./angrybird", load_options={'auto_load_libs':False})
path_group = p.factory.path_group(threads=2)
path_group.explore(find=0x404fc1)
print path_group.found[0].state.posix.dumps(0)
flag - Im_so_cute&pretty_:)
후기. elf리버싱은 진짜 너무 힘든거같다.