정의 프로세스 내에서 실행되는 여러 흐름의 단위를 뜻합니다. 특징 쓰레드는 프로세스 내에서 각각 스택만 따로 할당받고, Code/Data/Heap 영역은 공유합니다. 쓰레드는 한 프로세스 내에서 동작되는 여러 실행의 흐름으로, 프로세스 내의 주소 공간이나 자원들(Ex: 힙 영역)을 같은 프로세스 내에 쓰레드끼리 공유하면서 실행됩니...
쓰레드의 개념
Canaries
Canaries 보호기법 이론 및 실습 List of Contents Canaries Types of canaries Terminator canaries Random canaries Ra...
ASLR
ASLR 보호기법 이론 및 실습 List of Contents ASLR Check the protection techniques of binary files checksec Memory map ...
Heap 공부 3(free & bins)
동적 할당이 해제되는 과정 & bins에 대해서 정리 List of Contents Free (glibc2.23) 병합 과정 Fast bin Unsorted bin small bin Large bin ...
Heap 공부 2(chunk)
청크 이론 정리 & 실습 List of Contents Chunk 할당된 청크 해제된 청크 Top 청크 실제 Chunk 구조 확인 malloc 호출 시 기본 청크 구조 ...
Heap 공부 1(allocator & glibc)
동적 할당이 어떻게 진행되는지 정리 List of Contents 데이터를 할당하는 방법 (스택 / 힙) 스택에 할당된 데이터 힙에 할당된 데이터 Heap 기초 Dynamic memory all...
NX Bit [MS : DEP]
NX Bit 보호기법 이론 및 실습 List of Contents NX Bit [MS : DEP] NX Bit(Never eXecute bit)란? DEP(Data Execution Prevention)이란? 하드웨어 ...
유클리드 호제법
List of Contents 개념 예시 소스코드 최소 공배수 구하기 개념 유클리드 호제법은 2개의 자연수 또는 정식의 최대공약수를 구하는 알고리즘입니다. 호제법은 두 수가 서로 상대방 수를 나누어서 결국 원하는 수를 얻는 알고리즘을 의미합니다. 2개의 자연...