| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | |||
| 5 | 6 | 7 | 8 | 9 | 10 | 11 |
| 12 | 13 | 14 | 15 | 16 | 17 | 18 |
| 19 | 20 | 21 | 22 | 23 | 24 | 25 |
| 26 | 27 | 28 | 29 | 30 |
- ASLR
- zb
- stack buffer overflow
- linux
- zbhack
- Stack Canary
- C
- shellcode
- 포인터
- Little Endian
- Dreamhack
- pwnable
- 혼공C
- pwntools
- 혼공 c
- c 언어
- NX
- c언어
- strcpy
- plt
- 2차원 배열
- Crypto
- sfp
- 배열
- ssh
- Bandit
- pwnable.kr
- CTF
- Git
- buffer
- Today
- Total
목록C (16)
zerobean's archive
저번엔 c 공부할 때 빠트린 건데 pwnable 할 때 많이 사용하는 거 같아서 정리했다.오류나 추가 설명 등은 댓글로 알려주시면 감사하겠습니다. 처음 c언어를 배울 때부터 main 함수엔 매개변수로 void만 사용했었다.하지만 사실 main 함수도 매개변수를 가질 수 있다.int main(int argc, int **argv) 로 사용한다.다른 매개변수를 사용해도 되지만 관례적으로 argc, argv를 사용한다.argc는 argument count의 약자이며 명령행의 개수를 의미한다.argv는 argument vector의 약자이며 명령행의 메모리 목록을 의미한다.**argv는 *argv []로 사용할 수도 있다.옆에 int **env 도 붙을 수 있는데 이건 그냥 환경을 의미한다.argv는 띄어쓰기 ..
라는 책의 고급 편 중 분할 컴파일 챕터를 정리한 글입니다.오류나 추가 설명 등은 댓글로 알려주시면 감사하겠습니다. 1. 분할 컴파일두 코드를 서로 다른 파일에 저장한 다음 컴파일하면 각각 컴파일 되고 링크되서 분리되어 있지만 합쳐진 것과 같은 결과를 만든다.분할 컴파일은 파일 크기가 큰 경우 유리하고 다른 소스파일을 사용할 수 있다는 장점이 있다. 2. extern, static서로 다른 소스파일에 있는 코드 들이다.파일이 다른경우 전역 변수를 사용하려면 extern을 쓰면 되고 전역변수로 쓰이지 못하게 하기 위해서 static을 사용한다.마지막 파일에는 stdio.h 헤더 파일에 포함된 scanf, printf 등이 쓰이지 않는다. 3. 헤더파일 중복 문제 해결방법point.hline.hmain.c원..
라는 책의 고급 편 중 전처리 챕터를 정리한 글입니다.오류나 추가 설명 등은 댓글로 알려주시면 감사하겠습니다. 1. #include헤더 파일은 student.h라는 이름으로 생성한다.헤더 파일을 #include를 통해 불러올 수 있고 나 ""을 사용한다.를 쓰면 컴파일러가 제공하는 헤더 파일을 먼저, ""를 쓰면 사용자가 정의한 헤더 파일을 먼저 찾아서 참조한다. 헤더 파일에서 정의한 구조체를 main에서 쓸 수 있다. 컴파일하기 전에 컴파일하기 좋도록 만드는 것을 전처리라고 부른다.전처리를 할때 #include "student.h" 대신 헤더 파일의 내용이 복사되어 적힌다.#include는 사실 아무 데나 집어넣을 수 있지만 특별한 이유 없이 그렇게 코딩하진 않는다. 2. #define#define ..
라는 책의 고급 편 중 파일 입출력 챕터를 정리한 글입니다.오류 나 추가 설명 등은 댓글로 적어주시면 감사하겠습니다. 1. fopen, fclosefopen은 파일을 개방하는 함수로 fopen(개방할 파일명, 개방 모드); 로 쓰인다.개방 모드에는 r(read), w(write), a(append) 등이 있다.r은 존재하지 않는 파일을 개방하려고 할 때 NULL을 반환하기 때문에 위 프로그램은 "파일이 열리지 않았습니다."가 출력된다.w와 a는 파일이 없더라도 빈 파일을 생성한다.fclose 함수는 개방한 함수를 닫는 함수이다.FILE은 스트림 파일을 묶어놓은 구조체이다.스트림 파일은 프로그램과 입출력 장치 사이를 연결하는 파일이다. 2. fgetc, fputc파일에 적혀있는 문자를 입력받는 함수는 fg..