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리버싱은 진짜 너무 힘든거같다.