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

최근 pwnable.kr Grotesque 문제들이 너무 어려워서 스트레스... 였는데 간만에 재밌게 풀었습니다.


취약점은 리버싱해보면 비교적 쉽게 발견할 수 있고, 바이너리 내에 system(/bin/sh) 함수도 있으니 취약점까지 가는 길만 찾으면 되겠습니다

'Pwnable.kr > Grotesque' 카테고리의 다른 글

[pwnable.kr] dos4fun - 444pt  (5) 2018.03.14
[pwnable.kr] sudoku - 111pt  (0) 2018.02.19
[pwnable.kr] AEG - 550pt  (0) 2018.02.11
ANGR로 AEG를 풀어보자  (0) 2018.01.25

정규표현식이란


정규 표현식(正規表現式, 영어: regular expression, 간단히 regexp[1] 또는 regex, rational expression)[2][3] 또는 정규식(正規式)은 특정한 규칙을 가진 문자열의 집합을 표현하는 데 사용하는 형식 언어이다.




메타 문자 정리


문자클래스 [] 

- [ 와 ] 사이 문자들의 매치

- [ ] 내의 ^ : 다음 문자를 제외 (ex) [^p].

- [ ] 내의 - : 범위 표현  (ex) [a-z]

- \d : 숫자,   \w : 숫자+영문자,   \s : 공백문자, 대문자의 경우 반대


. (Dot)

- \n을 제외한 모든 문자와 매치


*

- 반복, 0부터 무한개까지 매칭


+

- 반복, 1부터 무한개까지 매칭


?

- 반복, 0부터 1개까지 매칭


{m,n}

- 반복, m개 이상, n개 이하개 매칭

- 즉,   * == {0,}    + == {1,}      ? == {0,1}


^

- 문자열 시작문자와 매칭 (ex) ^p


$

- 문자열 마지막 문자와 매칭 (ex) ;$

- . $ ^ 을 문자열로 사용하고 싶으면 [] 안에 넣어 사용하면 됨 


( )

- 그룹핑에 사용

- group(0) : 매칭된 전체 문자열,   group(n) : n번째 그룹




정규표현식 테스트 사이트


https://regexr.com/


참고 : https://wikidocs.net/4309

'관련TIP' 카테고리의 다른 글

커널 모듈의 관리  (0) 2018.02.07
라이브러리 .a 파일 .so 파일  (0) 2017.04.28

+ Recent posts