티스토리 뷰
import
angr
def
main():
proj
=
angr.Project(
'./바이너리이름'
, load_options
=
{
"auto_load_libs"
:
False
}) # False써라.
path_group
=
proj.factory.path_group()
path_group.explore(find
=
FIND_ADDR, avoid
=
AVOID_ADDR) # find 목적 address , avoid 피할 address
return
path_group.found[
0
].state.posix.dumps(
0
).split(
'\0'
)[
0
]
# stdin
if
__name__
=
=
'__main__'
:
print
(main())
argv를 이용하는 바이너리
->
import angr
import claripy
proj = angr.Project('./파일이름', load_options={"auto_load_libs": False})
argv1 = claripy.BVS("argv1", 0xff * 8) # 0xff는 argv에서 사용하는 길이 byte
initial_state = proj.factory.entry_state(args=["./argvflag", argv1]) # 인자
initial_state.add_constraints(argv1.chop(8)[0] == 'A') #문자를 지정할 수도 있음
initial_path = proj.factory.path(initial_state)
path_group = proj.factory.path_group(initial_state)
path_group.explore(find=0x) #find 주소
print(path_group.found[0].state.se.any_str(argv1)) #argv 출력
'programming > python' 카테고리의 다른 글
[Flask] hello.py (0) | 2018.08.23 |
---|---|
python image library (0) | 2018.08.10 |
z3 정리 (0) | 2018.07.07 |
파이썬 BeautifulSoup를 이용해 네이버 실시간 검색어 웹 크롤러 만들기 (0) | 2018.03.05 |
파이썬 requests 모듈 기본 (0) | 2018.03.05 |
Comments
최근에 올라온 글
최근에 달린 댓글
TAG
- fastbindup
- stack reusing
- ebp change
- codegate
- FSB
- pwnable
- tcache
- pwable
- heap
- overflow
- TLS
- 해킹
- oob
- SQLi
- pwnable.tw
- srop
- rt_sigreturn
- HackCTF
- hacking
- shellcoding
- 본선가고싶다
- glibc
- fastbin
- fsop
- exit
- Total
- Today
- Yesterday