[ DreamHack ] pwndbg 실습
·
INTERLUDE ✦/2022 SYSTEM STUDY
~ 간단한 코드로 gdb 실습을 해 보자 ~ ctrl + f 1. 코드 작성 2. 코드 컴파일 3. 디버깅 시작 4. 파이썬 이용 5. 명령어 정리 코드 작성 // Name: debugee.c // Compile: gcc -o debugee debugee.c -no-pie #include int main(void) { int sum = 0; int val1 = 1; int val2 = 2; sum = val1 + val2; printf("1 + 2 = %d\\n", sum); return 0; } vi 편집기를 이용했음. 참고로 리눅스에서 C언어 코딩 하려면 vi (파일명).c로 생성하고, i (insert) 눌러서 작성, 코드 다 입력한 뒤에는 esc 입력하고 :wq로 저장함 vi (파일명).c // ..
pwndbg, pwntools 설치
·
INTERLUDE ✦/2022 SYSTEM STUDY
pwndbg 설치 git clone https://github.com/pwndbg/pwndbg cd pwndbg ./setup.sh 터미널에 gdb 를 입력했을 때 사진과 같은 실행 결과가 나오면 설치 완료 pwntools 설치 $ apt-get update $ apt-get install python3 python3-pip python3-dev git libssl-dev libffi-dev build-essential $ python3 -m pip install --upgrade pip $ python3 -m pip install --upgrade pwntools pwntools import $ python3 Python 3.6.9 (default, Apr 18 2020, 01:56:04) [GCC 8..
[ DreamHack ] 동적 분석 연습 1
·
INTERLUDE ✦/2022 SYSTEM STUDY
참여한 구글미트 링크 : https://meet.google.com/rcr-hrgg-ffm 동적분석 하기 전에 !! pwndbg랑 pwntools 공부를 제대로 안 하고 넘어가서 해당 부분 다시 실습해보고 동적 분석 연습해야 될것 같음!! pwndbg 실습 : https://cherish-days02.tistory.com/23 pwntools 실습 : #include #include #include #include void alarm_handler() { puts("TIME OUT"); exit(-1); } void initialize() { setvbuf(stdin, NULL, _IONBF, 0); setvbuf(stdout, NULL, _IONBF, 0); signal(SIGALRM, alarm_ha..
[ DreamHack ] x86 Assembly
·
INTERLUDE ✦/2022 SYSTEM STUDY
어셈블러 - 개발자들이 어셈블리어로 코드를 작성하면 컴퓨터가 이해할 수 있는 기계어로 코드를 치환해줌 어셈블리어 - 컴퓨터의 기계어로 치환되는 언어, low-level programming language에 속함 x86-64 어셈블리 언어 피연산자 총 3가지 종류가 올 수 있다 -> 상수 / 레지스터 / 메모리 메모리 : [대괄호]로 둘러싸인 것으로 표현됨. 앞에 크기 지정자 TYPE PTR(BYTE, WORD, DWORD, QWORD)이 추가될 수 있다. ex) QWORD PTR [0x8048000] = 0x8048000의 데이터를 8바이트만큼 참조함 데이터 이동 - 어떤 값을 레지스터나 메모리에 옮기도록 지시함 연산자 사용 예시 해석 mov mov des, src src에 들어있는 값을 dst에 대입..
레몬세미나
·
INTERLUDE ✦/etc
보호되어 있는 글입니다.