pwnkidhn.github.io

고정 헤더 영역

글 제목

메뉴 레이어

pwnkidhn.github.io

메뉴 리스트

    • 분류 전체보기 (194)
      • memo (0)
      • Pwnable Exploitation (19)
        • 01.Shellcode (4)
        • 02.Return to Shellcode (1)
        • 03.RTL(Return to libc) (2)
        • 04.Frame faking(Fake ebp) (1)
        • 05.Frame Pointer Overwrite (2)
        • 06.ROP(Return Oriented Prog.. (3)
        • 07.SROP(Sigreturn-oriented .. (2)
        • 08.JOP(Jump-Oriented Progra.. (1)
        • 09.Return-to-csu(__libc_csu.. (0)
        • Malloc - glibc(ptmalloc2) (3)
      • Pwnable Write-Up (54)
        • 00.CTF (0)
        • 01.hackerschool F.T.Z (20)
        • 02.hackerschool L.O.B (21)
        • 03.dreamHack (13)
        • 04.HackCTF (0)
      • Reversing Write-Up (38)
        • 01.Abex's crackme (5)
        • 02.CodeEngn Basic (20)
        • 03.CodeEngn Advance (13)
      • Fuzzing (1)
        • Theory (1)
      • Programming (22)
        • Data Structure (0)
        • Windows System (22)
      • Computer Science (60)
        • Computer Architecture (18)
        • OS Concepts (29)
        • Linux System (5)
        • Reverse Core (8)

    검색 레이어

    pwnkidhn.github.io

    검색 영역

    컨텐츠 검색

    Computer Science

    • 1.3 컴퓨터 시스템 구조

      2020.04.04 by RACC8N

    • 1.2 컴퓨터 시스템의 구성

      2020.04.04 by RACC8N

    • 1.1 운영체제가 하는 일

      2020.04.04 by RACC8N

    • 02. CPU의 구조와 기능 (3) [명령어 세트]

      2020.04.03 by RACC8N

    • 02. CPU의 구조와 기능 (2) [명령어 파이프라이닝]

      2020.04.03 by RACC8N

    • 02. CPU의 구조와 기능 (1) [CPU의 기본구조, 명령어 실행]

      2020.04.03 by RACC8N

    • 01. 컴퓨터 시스템 개요

      2020.03.20 by RACC8N

    • Lazy binding (Feat. Now binding)

      2020.03.09 by RACC8N

    1.3 컴퓨터 시스템 구조

    Single Processor 시스템 한 개의 processor를 사용하는 시스템 Processor는 general purpose CPU를 의미함 대부분의 시스템은 special purpose processor도 갖고 있음 Disk,Keyboard, graphics controller 등이 자체의 device-specific 프로세서를 내장하고 잇음 Multiprocessor 시스템 두 개 이상의 processor를 사용하는 시스템 Processor들은 bus, memory, peripheral을 공유 -> tightly coupled system 장점 : throughput (단위시간당 처리량) 증가 : N개 프로세서에 대해서 N배보다는 작음 비용 절약 : 처리기가 주변 장치, 대용량 저장 장치, 전원..

    Computer Science/OS Concepts 2020. 4. 4. 14:42

    1.2 컴퓨터 시스템의 구성

    현대 컴퓨터 시스템 구조 ○ 하나 이상의 CPU와 device controller가 common bus를 통해 연결됨 ○ Common bus 는 공유 메모리 접근을 제공함 Device Controller ○ 대개 특정 유형의 device 동작을 책임짐 - 오디오, 비디오, 디스크 ○ USB 제어기 (Universal serial bus) - 다양한 device와 연결 가능 1.2.1 컴퓨터 시스템 동작 Bootstrap Program : ○ 컴퓨터 전원을 켰을 때 혹은 reboot될 때에 수행되는 initial program (초기 프로그램) ○ 대개 비휘발성 메모리인 firmwre (ROM, EPROM)에 저장됨 Bootstrap program의 동작 : 1. 시스템의 모든 부분을 초기화 (CPU 레지..

    Computer Science/OS Concepts 2020. 4. 4. 12:38

    1.1 운영체제가 하는 일

    '운영체제는 컴퓨터 하드웨어를 관리하는 프로그램이다' 1.1 운영체제가 하는 일 운영체제는 무엇인가? : 컴퓨터 사용자/응용 프로그램과 컴퓨터 하드웨어 사이에서 중재자 역할을 수행 ○ 컴퓨터 하드웨어/자원을 관리 ○ 응용프로그램 수행을 제어 ○ 응용프로그램을 위한 기반을 제공 운영체제의 목표 : ○ 편의성(convenience) : 사용자가 컴퓨터 시스템을 편리하게 사용할 수 있는 환경 제공 (특히 PC) ○ 효율성(efficiency) : 컴퓨터 하드웨어를 효율적으로 사용하게 함 (특히 mainframe) ○ 진화능력 (ability to evolve) : 서비스를 방해하지 않고 새로운 기능을 효율적으로 개발, 검증, 추가할 수 있게 함. 컴퓨터 시스템 구성 요소 컴퓨터 시스템은 대게 네 가지 구성 요..

    Computer Science/OS Concepts 2020. 4. 4. 10:02

    02. CPU의 구조와 기능 (3) [명령어 세트]

    2.4 명령어 세트(instruction set) ○ 어떤 CPU를 위하여 정의되어 있는 명령어들의 집합 명령어 세트 설계를 위해 결정되어야 할 사항들 1. 연산 종류 (Operation repertoire) : CPU가 수행할 연산들의 수와 종류 및 복잡도 2. 데이터 유형 (data type) : 연산을 수행할 데이터들의 형태, 데이터의 길이(비트 수), 수의 표현 방식 등 3. 명령어 형식 (instruction format) : 명령어의 길이, 오퍼랜드 필드의 수와 길이 등 4. 주소지정 방식 (addressing mode) : 오퍼랜드의 주소를 지정하는 방식 2.4.1 연산의 종류 CPU가 수행할 수 있는 연산들의 종류는 컴퓨터에 따라 매우 다양하다. 기본적인 연산들의 종류 1. 데이터 전송 :..

    Computer Science/Computer Architecture 2020. 4. 3. 18:03

    02. CPU의 구조와 기능 (2) [명령어 파이프라이닝]

    2.3 명령어 파이프라이닝(Instruction Pipelining) CPU의 프로그램 처리 속도를 높이기 위하여 CPU 내부 하드웨어를 여러 단계로 나누어 동시에 처리하는 기술 2-단계 명령어 파이프라인 (Two-stage Instruction Pipeline) 명령어를 실행하는 하드웨어를 인출단계(Fetch stage)와 실행단계(Execute stage)라는 두 개의 독립적인 파이프라인 모듈로 분리 두 단계들에 동일한 클록을 가하여 동작 시간을 일치시키면, > 첫 번째 클록 주기에서는 인출 단계가 첫 번째 명령어를 인출 > 두 번째 클록 주기에서는 인출된 첫 번째 명령어가 실행 단계로 보내져서 실행되며, 그와 동시에 인출 단계는 두 번째 명령어를 인출 2-단계 파이프라인을 이용하면 명령어 처리 속도..

    Computer Science/Computer Architecture 2020. 4. 3. 15:58

    02. CPU의 구조와 기능 (1) [CPU의 기본구조, 명령어 실행]

    CPU의 기능 1. 명령어 인출(Instruction Fetch) : 기억장치로부터 명령어를 읽어온다. 2. 명령어 해독(Instruction Decode) : (읽어온 명령어) 수행해야 할 동작을 결정하기 위해 명령어를 해독한다. ※ 명령어 인출/해독은 모든 명령어들에 대하여 공통적으로 수행한다. 3. 데이터 인출(Data Fetch) : 명령어 실행을 위하여 데이터가 필요한 경우에는 기억장치 혹은 I/O장치로부터 그 데이터를 읽어온다. 4. 데이터 처리(Data Process) : 데이터에 대한 산술적 or 논리적 연산을 수행한다. 5. 데이터 저장(Data Store) : 수행한 결과를 저장한다. ※ 데이터 인출/처리/저장은 명령어에 따라 필요한 경우에만 수행한다. 2.1 CPU의 기본 구조 산술논..

    Computer Science/Computer Architecture 2020. 4. 3. 14:11

    01. 컴퓨터 시스템 개요

    하드웨어(Hardware) : 컴퓨터에서 각종 정보들의 전송 통로를 제공해 주고, 그 정보에 대한 처리가 실제 일어나게 해주는 물리적인 실체들. 1. 메인보드 : 주요 IC 칩들과 메모리 모듈 및 I/O장치 인터페이스를 위한 슬롯들이 장착되는 기판. 2. CPU 및 GPU 칩 : 멀티-코어 마이크로프로세서 및 그래픽처리유니트 칩 3. 주기억장치 모듈 : DDR4 SDRAM과 같은 메모리 칩들이 장착된 보드 4. 확장 보드 : 사운드 카드와 같이 기능 추가를 위하여 장착되는 각종 보드들 소프트웨어(software) : 정보들이 이동하는 방향과 정보 처리의 종류를 지정해주고, 그러한 동작들이 수행될 시간을 지정해주는 명령(command)들의 집합. · 시스템 소프트웨어(System Software) : OS..

    Computer Science/Computer Architecture 2020. 3. 20. 21:25

    Lazy binding (Feat. Now binding)

    Lazy binding Lazy Binding은 lazy linking 또는 on-demand symbol resolution이라고도 한다. Lazy Binding은 심볼이 실제로 사용될 때까지 심볼의 라이브러리 파일의 주소 값 확인이 수행되지 않는다. Lazy binding behavior flow 모든 동적라이브러리 함수는 PLT(Procedure Linkage Table) stub코드를 통해 호출된다. PLT의 stub 코드는 상대 주소를 이용하여, 사용할 GOT(Global Offset Table)의 주소 값을 검색한다. PLT는 GOT의 위치를 알고 있으며, 해당 GOT에 저장된 대상 함수의 주소를 읽고 이동한다. 이와 같은 동작이 실행되기 위해서 GOT에 적절한 주소가 채워 져야한다. Lazy..

    Computer Science/Linux System 2020. 3. 9. 09:51

    추가 정보

    페이징

    이전
    1 ··· 3 4 5 6 7 8
    다음
    TISTORY
    pwnkidhn.github.io © rvkhun
    페이스북 트위터 인스타그램 유투브 메일

    티스토리툴바