고졸백수해킹일기

codegate2017 angrybird 본문

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


'Reversing' 카테고리의 다른 글

defcon 2018 ELF Crumble  (0) 2018.05.30
Codegate-2018 Open-CTF Doorlock  (0) 2018.04.10
defcon2017 pegem  (0) 2018.03.03
2015 defcamp r100  (0) 2018.02.22
angr 설치  (0) 2018.02.22