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

+ Recent posts