| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- CPU
- 플러그인
- 정보보안
- 애플리케이션
- 소프트웨어
- 앱 개발
- 정보보호
- 앱
- 악성코드
- 프론트엔드
- 개발
- 프로그래밍
- 코딩
- 대학생
- 해킹
- 보안제품개발
- 팀플
- Android Studio
- 소프트웨어학과
- 보안
- 화이트햇스쿨
- React Native
- QEmu
- BOB
- 학부연구생
- bob 14기
- 프로젝트
- IT
- 후기
- Kotlin
- Today
- Total
목록분류 전체보기 (80)
맨땅에 코딩
BoB 프로젝트가 거의 다 끝나갑니다.그러는 와중에 얼마전에 삼성 놑북을 포맷했는데요(그냥 네트워크가 갑자기 사라짐)그 와중에 또 제 BoB USB가 바이러스에 감엽됐습니다. 정말 가지 가지 하는 것 같습니다.... 삼성 놑북 포맷했으니까 USB에 다른 자료 옮기려고 인식했는데모든 파일이 다 사라지고 USB Drive 바로가기 버튼만 있지 뭡니까... ... 구글링 해보니 Shortcut 바이러스에 USB가 감염된거랍니다..아오... 그냥 바로 cmd창 열어주고D: 입력해 준 다음에 다음 명령어를 쳐줬습니다. attrib -h -r -s /s /d *.* 해결... (이후에 포맷은 필수!)
팀원들에게 제 티스토리를 들켰습니다....아니 구글에 'BoB 14기 후기' 치면 제 티스토리가 가장 위에 있어요.그것도 하필 대환장 1차 발표 후기가..그래서 씁니다. 2차 발표 후기. 아닌 일기.화요일 오후 1시 ~: 출근했더니 엉뚱한 곳에 GUI 코드가 커밋됨: 너무 당황스러워서 팀원에게 연락함: 팀원 본인도 코드 날라갔다함: 우리 엄마한테 다 이름: 포기하고 캡디함화요일 오후 9시 30분: 덕분에 캡디 다 함: 엄마한테 집 못간다고 함: 엄마가 MZ한 화난 임티 보냄: 복구해서 코드 올렸다고 팀원에게 연락 옴화요일 오후 10시: ?: ???: ?????????????????수요일 오전 2시: UI는 다 고쳤다: 이거 잘만 하면 QEMU 연결 가능할 것 같은데?수요일 오전 4시 ~: QEMU 연결 ..
대환장 1차 발표 후기 시작. 금요일 오후 1시: 센터 도착: 지속적인 밤샘 작업에 시달려서 팀원 둘이 일어나지 못함: 너무 안타까울 지경이었음: 근데 나보고 집 가라고 함: 이게 무슨 말도 안되는 소리...? 금요일 오후 3시 - 4시: 인간들을 결국 깨움: 논문 이야기가 끝나지 않아..: 논문 2개 쓴다... 총체적 난국 금요일 오후 4시 - 8시: 내가 지금 뭘하는지 모르겠음: 내일 발푠데 피피티 조졌다고 생각함: 일단 근데 저녁은 먹어야겠음: 나 근데 오늘 긱사 갈 수 있을까?: 응 아니 망했음 밤새야함 금요일 오후 8시 30분 - 10시: 잊고 있었다: 캡디 회의가 있었음: 비대면으로 주구장창 회의를 진행함: 오후 10시되니까 끝남: 근데 논문 포기했다고함: 오전 12시부터 발표 준비하자고 함:..
지금 우리 팀이 하려는 건 QEMU 플러그인 개발인데,도대체 이게 뭘 하는 건지 전혀 감이 오지 않습니다. 그래서 이해하려고 노력해보겠습니다(?) 1. 플러그인이라는 게 뭘까?이미 존재하는 프로그램에 새로운 기능을 '끼워 넣는' 조각 코드 예시로 봅시다.프로그램플러그인 예시Chrome광고 차단기, 번역기VS CodePython 문법 하이라이트, 자동완성Photoshop필터 효과, AI 리터치QEMUCPU 실행 추적, 메모리 감시, 스냅샷 로깅본체(Host) = 원래 프로그램 (QEMU)플러그인(Plugin) = 본체의 동작 중간에 끼워지는 "부가 기능"목적: 원래 QEMU에는 없는 "내가 필요한 기능"을 직접 추가 하는 것 2. QEMU 플러그인은 정확히 뭘하는 걸까?QEMU는 "가상 머신(Guest O..
졸려 죽겠지만 꾹 참고 QEMU 내부 구조에 대해 간단히 요약해봅니다....우리 플러그인 개발 잘할 수 있겠지?잘하고 싶다. 1. QEMU의 큰 그림QEMU는 크게 2개의 층으로 구성된다.층설명Front-end (System Emulation)가상 머신 관리 (디스크, 네트워크, 장치, 스냅샷 등)Back-end (CPU Emulation: TCG)게스트 CPU 명령어를 해석하고 실행하는 핵심 엔진┌──────────────────────────┐│ QEMU Frontend Layer │ ← CLI 옵션, 장치 모델, 스냅샷, QMP└─────────────┬────────────┘ │┌─────────────▼────────────┐│ QEMU Backend (T..
1. 기본 개념인터럽트(Interrupt)는 CPU에게 “지금 당장 처리해야 할 일이 생겼다!” 라고 알리는 신호이고,예외(Exception)는 프로그램 실행 중 CPU가 오류를 감지했을 때 발생하는 이벤트다. 공통점: CPU가 현재 실행 중인 명령어를 "일시 중단"하고, 정해진 "핸들러 함수"로 점프한다. 2. 인터럽트의 종류구분이름예시발생 주체하드웨어 인터럽트Hardware Interrupt키보드 입력, 네트워크 패킷 도착외부 장치소프트웨어 인터럽트Software Interruptint 0x80, syscall (시스템콜)프로그램예외(Exception)Fault / Trap / Abort0으로 나누기, 페이지 폴트CPU 내부 하드웨어: 외부 장치가 "CPU 나 좀 봐달라."소프트웨어: 프로그램이 "O..
1. 메모리란?프로그램이 실행 중일 때 사용하는 저장 공간으로,CPU는 명령어와 데이터를 "주소(Address)"를 통해 메모리에서 읽고 쓴다. CPU ←→ [주소로 구분된 칸들로 이루어진 메모리]CPU는 항상 주소 단위로 접근한다.명령어(mov, add 등)는전부 "주소 기반 데이터 이동"으로 이루어져 있다. 2. 가상 메모리(Virtual Memory)운영체제가 프로세스마다 독립적인 '가짜 주소 공간'을 만들어주는 기술실제 RAM은 한정되어있다.모든 프로세스가 같은 주소(예: 0x400000)를 쓰면 충돌하기 때문에 OS가 각 프로세스마다 "자기만의 주소공간"을 가짜로 만들어 준다.프로세스0x400000의 의미A.exeA의 코드 영역B.exeB의 코드 영역 이 주소는 실제 RAM 주소가 아니고, ..
분명 컴퓨터구조 시간에 배웠던 것 같은데, 하나도 기억이 나지 않아서 정리해봅니다. 1. CPU의 역할CPU는 명령어를 하나씩 읽고 실행하는 "두뇌"이다. 기본 반복 구조는 다음과 같다.1. Fetch → 메모리에서 명령어 가져오기 2. Decode → 어떤 연산인지 해석하기 3. Execute → 실제 연산 수행하기 (레지스터/메모리 변경) 4. Repeat → 다음 명령어로 이동 이를 명령어 사이클이라고 하는데,QEMU는 이 사이클을 소프트웨어적으로 시뮬레이션 하는 것이다. 2. 레지스터CPU 내부의 초고속 저장공간으로메모리보다 훨씬 빠르고, 명령어 대부분이 레지스터 간 연산이다.이름역할RIP (Instruction Pointer)다음에 실행할 명령어의 주소 (Program Counter)RSP (..
