Notice
Recent Posts
Recent Comments
Link
«   2025/07   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

cdor1's lab

codegate 2017 angrybird 본문

Security/Reversing

codegate 2017 angrybird

Cdor1 2017. 3. 5. 01:19

프로그램이 정상적으로 실행되는 것을 막도록 바이너리가 패칭되어있는데

이렇게 exit함수를 부르거나 검증을 진행하는 함수들을 모두 nop으로 패칭한다.


(이런 분기문이 *50정도 더 있다....)

ida의 graph view를 보면 이렇게 다양한 분기문을 이용해서 옳은 값인지 확인하는데

이전에 포스팅했던 angr를 통해서 풀어보려고 한다.



import angr

proj = angr.Project("./angrybird", load_options={'auto_load_libs':False})
path_group = proj.factory.path_group(threads=2)
path_group.explore(find=0x404fab) #0x404fab로 가는 방법을 찾도록 set

print path_group.found[0].state.posix.dumps(0)

angr는 참 편리한 툴인 것 같다.

(angr가 없었다면 이런 문제도 안나왔겠지만 ㅎ..)

'Security > Reversing' 카테고리의 다른 글

CodeEngn Advance 03  (0) 2017.03.22
CodeEngn Advance 02  (0) 2017.03.21
CodeEngn Advance 01  (0) 2017.03.20
ReverseLab2: DLL Injection  (0) 2016.08.10
ReverseLab1: UPX packed PE File analyze  (0) 2016.07.27
Comments