일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 워게임
- Pwnable.kr
- 어셈블리어
- pwncollege
- 시스템
- radare2
- C++
- 리눅스 커널
- 시스템프로그래밍
- 리눅스커널
- C언어
- 시스템해킹
- wargame
- css
- 시스템 프로그래밍
- 취약점
- px4
- Bandit
- 시그널
- 리버싱
- Leviathan
- 리눅스
- 커널
- 컴퓨터구조
- 드론
- 알고리즘
- 프로그래밍
- kernel
- write up
- pwn.college
- Today
- Total
목록프로그래밍 (17)
Computer Security

구조체와 클래스의 차이점 -일반적으로 C++의 클래스(Class)는 구조체보다 더 효과적인 문법이다. -구조체와 클래스는 거의 흡사하게 동작하지만, 클래스에서는 내부적으로 ‘함수’ 등을 포함할 수 있다. -또한 클래스는 상속(Inheritance) 등의 개념을 프로그래밍에서 그대로 이용할 수 있다는 점에서 객체 지향 프로그래 밍(Object-Oriented Programming)을 가능하도록 해주는 기본적인 단위이다. 구조체와 클래스의 차이점: 구조체 코드 예시 #include #include using namespace std; struct student { string name; int score; }; int main(void) { struct student a; a.name = "고동산"; a.s..

C++에서의 Hello World 는? 코드예시 #include using namespace std; int main(void) { cout input; std::cout 와 는 공백 문자(Space, Enter, Tab)을 기준으로 입력을 받는다. C++의 네임스페이스 네임스페이스(Namespace)는 특정한 영역에 이름을 설정할 수 있도록 하는 문법이다. 네임스페이스는 서로 다른 개발자가 공동으로 프로젝트를 진행할 때 각자 개발한 모듈을 하나로 합칠 수 있도록 해준다. 코드예시 #include using namespace std; namespace A { void function() { cout

라빈 카프 문자열 매칭 -아스키 코드 기반의 해시함수(Hash Function)을 이용해 특정한 문자열에 대한 해시 값을 구한다. -'연속적인 문자열이 이어지는' 상황이므로 해시함수의 동작에 있어서 연산 속도가 O(1)이다. 라빈 카프 문자열 매칭: 해시 함수 -라빈 카프 문자열 매칭 알고리즘에서 해시 함수는 '각 문자의 아스키 코드 값에 2의 제곱 수를 차례대로 곱해 더한 값'을 구한다. -일반적으로 서로 다른 문자열의 경우 해시 값이 다르게 나온다. 해시 함수에 기반한다는 점에서 해시 충돌에 대한 처리가 필요하다. (해시 함수(hash function) 또는 해시 알고리즘 또는 해시함수알고리즘은 임의의 길이의 데이터를 고정된 길이의 데이터로 매핑하는 함수이다.) ex) 문자열: “bbacdab” = ..

단순 비교 문자열 매칭 1.단순 비교 문자열 매칭 알고리즘은 두 문자열을 처음부터 끝까지 계속 비교하는 알고리즘입니다. 2.단순 비교 문자열 매칭 알고리즘은 O(NM)의 시간 복잡도를 가집니다. ex) ABCDEFG 에서 EF를 찾는 경우 AB랑 EF를 비교, BC랑 EF를 비교 ... 이런식으로 하나하나 찾아 나간다. 코드예시 #include #include char* parent = "ABCDEFG"; char* pattern = "EF"; int main(void) { int parentSize = strlen(parent); int patternSize = strlen(pattern); for (int i = 0; i 0 && pattern[i] != pattern[j]) { j = table[j..