리눅스에서 뭔가 내가 원하는 파일이나
코드 분석시 뭔가 원하는 코드 내용 보고 싶을 때 활용
파일 안에서 내용 찾기
grep [옵션] [정규표현식(문자열)] [찾기 대상이 될 파일명]
> -grep -r -n "element_init" ./Pbc/> -r, --recursive : 서브 디렉토리의 파일까지 모두 출력
> -n, --line-number : 문자열이 들어있는 라인과 문두에 라인번호를 출력
> -n, --line-number : 문자열이 들어있는 라인과 문두에 라인번호를 출력
리눅스 디버깅
1. gcc -g -o [프로그램명] [소스파일명]
2. 실행방법 gdb [프로그램명]
2. 실행방법 gdb [프로그램명]
3.
r : 프로그램 수행 (재시작)
b func : func 함수에 브레이크 포인트 설정
( b 10 : 10행에 브레이크 포인트 설정)
13. 디버깅 하기 (step, next, continue, until, finish, return, step instruction, next instruction)
s : 현재 출력된 행을 수행하고 멈추지만, 함수의 경우 함수의 내부로 들어가서 수행된다
s 5 : s를 5번 입력한 것과 동일
n : 현재 행을 수행하고 멈추지만, 함수의 경우 함수를 수행하고 넘어간다
n 5 : n을 5번 입력한 것과 동일
c : 다음 브레이크 포인트를 만날때 까지 계속 수행한다
u : for 문에서 빠져나와서 다음 브레이크 포인트까지 수행한다.
finish : 현재 함수를 수행하고 빠져나감
return : 현재 함수를 수행하지 않고 빠져나감
return 123 : 현재 함수를 수행하지 않고 빠져나감, 단, 리턴값은 123
si : 현재의 인스트럭션을 수행, 함수 호출 시 내부로 들어간다.
ni : 현재의 인스트럭션을 수행, 함수 호출 시 내부로 들어가지 않는다.
s : 현재 출력된 행을 수행하고 멈추지만, 함수의 경우 함수의 내부로 들어가서 수행된다
s 5 : s를 5번 입력한 것과 동일
n : 현재 행을 수행하고 멈추지만, 함수의 경우 함수를 수행하고 넘어간다
n 5 : n을 5번 입력한 것과 동일
c : 다음 브레이크 포인트를 만날때 까지 계속 수행한다
u : for 문에서 빠져나와서 다음 브레이크 포인트까지 수행한다.
finish : 현재 함수를 수행하고 빠져나감
return : 현재 함수를 수행하지 않고 빠져나감
return 123 : 현재 함수를 수행하지 않고 빠져나감, 단, 리턴값은 123
si : 현재의 인스트럭션을 수행, 함수 호출 시 내부로 들어간다.
ni : 현재의 인스트럭션을 수행, 함수 호출 시 내부로 들어가지 않는다.
15. 변수 정보보기 (info, print)
info locals : 현재 상태에서 어떤 지역변수들이 있으며, 값은 어떠한지를 알 수 있다.
p func : func 함수의 주소값을 확인한다.
'Study_1 > BackGround' 카테고리의 다른 글
010Editor Template 활용 (0) | 2014.11.28 |
---|---|
Intermediate, Mnemonic 언어 등 (0) | 2014.11.16 |
Obfuscation Vs. Encryption (0) | 2014.11.11 |
API Hooking (0) | 2014.11.09 |