일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- Docker
- ncurses
- rfc5508
- epoll_wait
- 취약점
- doupdate
- packet filter
- wnourefresh
- level trigger
- vtable
- 풀이
- Compiler
- BOF
- wrefresh
- 어셈블리어
- C언어
- packet flow
- .net core 7
- .nret core 배포
- REDIS
- cbpf
- epoll
- LOB
- edge trigger
- ioctl
- architecture
- mvwin
- DOCKER-USER
- NAPT
- iptables
- Today
- Total
Tuuna Computer Science
IDT와 GDT가 헷갈렸던 참에 정리가 잘 돼서 여기에 마지막으로 정리를 하려한다. 일단 인터럽트의 종류에는 소프트웨어 인터럽트랑, 하드웨어 인터럽트가 존재한다. 소프트웨어 인터럽트는 말 그대로 소프트웨어단에서 CPU에게 인터럽트를 요청하는 거고 하드웨어 인터럽트는 CPU외의 주변 기기 장치로 부터 받는 인터럽트를 의미한다. 오늘은 소프트웨어보단 하드웨어 인터럽트에대해 정리할것이다. 일단 우리의 PC에는 8259A라는 인터럽트를 받는 PIC칩이 존재한다. 이 PIC는 2개로 이루어져 있다. 마스터 PIC + 슬레이브 PIC로 이루어져 있다. 도 이 각 각의 PIC에는 8개의 IRQ와 한 개의 INT핀 한 개의 /INTA핀이 존재한다. (각 각의 IRQ핀은 번호가 매겨지는데 0번 째 부터 시작한다.) 마스..
OS 제작과정 중에 Real Mode에서 Protected Mode로 변환할 때 가장 중요한 것은 32비트 Kernel을 개발하는 것이다. 즉, 이는 CPU가 Protected Mode로 동작하도록 해야하는 것이다. 이 Real Mode와 Protected Mode로 변환하기 전엔 GDT(Global Descriptor Table)이라는 것이 필요로 한다. GDT는 각 세그먼트 영역에 대해 이것들을 어떻게 사용할 것인지에 대해 서술한 것을 의미한다. (여담이지만 최신 윈도우와 리눅스는 LDT라고 Local Descriptor Table을 사용하는데 나중에 한 번 공부해봐야겠다.) ---------------------------------------------Base Address : 세그먼트의 시작 주..
드디어! 시저암호 암호화 복호화를 어셈블리어로 구현하는데 성공했다! 디버깅하면서 동적분석하는데 꽤나 시간을 많이 잡아먹었는데 이유는 단순했다. 내가 못 찾았을 뿐.... ㅎ 좋은 경험 ~.~ 어셈블리어로 코드짜면서 뭔가 C 언어 보다 직관적이면서 단순한게 매력인거 같다 ㅋㅋ ;일단 필요한 함수 strlen, strcpy구현 %include "asm_io.inc" segment .bss segment .data format1 db "%s", 0 format2 db "%d", 0 print1 db "input your key(0~25) : ", 0 print_en db "~~~~~~~~~Encrypto!~~~~~~~~", 0 print_cr db "~~~~~~~~~Crypto~~~~~~~~~", 0 prin..