Python virtualenvwrapper 설치, 환경설정
# pip install virtualenvwrapper
# vi ~/.bashrc
export WORKON_HOME=$HOME/.virtualenvs
source /usr/local/bin/virtualenvwrapper.sh
# source ~/.bashrc
Pypy 설치
http://pypy.org/download.html 에서 환경에 맞춰 다운로드, 압축해제
Angr-dev 설치(출처 : http://kshmk.tistory.com/92)
# mkvirtualenv -p /opt/pypy/bin/pypy angr
# deactivate
# git clone https://github.com/angr/angr-dev
# cd angr-dev
# setsid sh -c 'tty; ps -jp "$$"; ./setup.sh -i -p angr' < /dev/null // github id, pw 물어봐서 이 옵션 사용
# workon angr
Example code 실행
Angr 프로젝트에 예제로 들어 있는 바이너리를 분석해보자
실행 코드
import angr project = angr.Project("angr-dev/angr-doc/examples/defcamp_r100/r100", auto_load_libs=False) @project.hook(0x400844) def print_flag(state): print "FLAG SHOULD BE:", state.posix.dump_fd(0) project.terminate_execution() project.execute() |
실행 결과
(angr) root@ubuntu:/home/u64/angr# python test.py WARNING | 2017-12-27 04:46:07,890 | angr.analyses.disassembly_utils | Your verison of capstone does not support MIPS instruction groups. FLAG SHOULD BE: Code_Talkers |
'Fuzzing & Binary analysis' 카테고리의 다른 글
[작성중] Angr docs를 공부해보자 (0) | 2018.01.04 |
---|