STUDY/SS(5)
-
Fstack-protector-strong option
Fstack-protector-strong option은 gcc compile option 중 하나이다. stack 보호 기능을 강화하기 위해 사용됨. 이 옵션은 프로그램의 stack frame에 보안 관련 체크를 추가하여, stack buffer overflow 공격으로부터 프로그램을 보호하는데 도움을 준다. ‘-fstack-protector-strong’ 옵션은 다음과 같은 방식으로 작동한다. 1. 함수의 stack frame에 “canary”라고 불리는 random 값을 삽입한다. 이 값은 함수가 호출될때 생성, 함수가 반환될때 검사된다. 2. 함수가 반환되기 전에 이 값이 변경되었는지 확인한다. 만약 canary 값이 변경되었다면, 이는 버퍼오버플로우가 발생했음을 의미한다. 프로그램은 오류 메시지..
2024.02.19 -
linux kernel 용어 및 정리 모음
* OOM Score 란? > Out of memory 의 약자 . OOM_score 값에 따라 먼저 kill 할 process 순위가 정해짐. * Mmap & munmap ? * mmap 은, fd 가 가리키는 객체를 file 에서 offset byte 지점을 기준으로, len byte만큼 memory 에 mapping 하도록 kernel 에 요청한다. * mmunmap : mmap() 으로 만들어진 mapping을 제거함. # sample : mmap(NULL, sizeof(fs_stream_buffer_t) * 5, PROT_READ | PROT_WRITE, MAP_SHARED, Devicefd, 0); * stat ? > stat(“/mnt/vendor/nvdata”, &buf); —-> this..
2023.12.26 -
1859. 백만장자 프로젝트 ( D2 ) - C++
이게 ... D2인데 LeetCode에서는 비슷한 문제가 아마 미디엄이었던가..? Easy-Medium 수준이었던듯. https://swexpertacademy.com/main/code/problem/problemDetail.do?problemLevel=2&contestProbId=AV5LrsUaDxcDFAXc&categoryId=AV5LrsUaDxcDFAXc&categoryType=CODE&problemTitle=&orderBy=FIRST_REG_DATETIME&selectCodeLang=CCPP&select-1=2&pageSize=10&pageIndex=1 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com #..
2022.09.06 -
백준 2606 (C++) - 바이러스 (BFS, DFS)
ㅠㅠ 나 그래프 영원히 못풀줄 알았는데...... 이제 이해했다.... DFS, BFS 로 모두 풀어봤다. main 함수에서 원하는걸로 주석 처리하면된다. #include #include #include #include #include using namespace std; #define MAX 101 vector graph[MAX]; int visited[MAX]; int cnt = -1; void bfs(int r) { deque qq; visited[r] = 1; qq.push_back(r); while(!qq.empty()) { int tmp = qq.front(); qq.pop_front(); cnt++; for(int i = 0; i < graph[tmp].size(); i++) { int y ..
2022.08.07 -
백준 - 13458 시험 감독 ( in C )
그 ~ 나마 쉬운문제.... 수학문제다. https://www.acmicpc.net/problem/13458 13458번: 시험 감독 첫째 줄에 시험장의 개수 N(1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에는 각 시험장에 있는 응시자의 수 Ai (1 ≤ Ai ≤ 1,000,000)가 주어진다. 셋째 줄에는 B와 C가 주어진다. (1 ≤ B, C ≤ 1,000,000) www.acmicpc.net #include int main() { int A[1000000+50000]; int n, b, c; unsigned long long int sum = 0; n = b = c = 0; scanf("%d", &n); for(int i = 0; i < n; i++) scanf("%d", &A[i]); ..
2022.07.31