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

    검색 영역

    컨텐츠 검색

    Programming

    • 05.3 프로세스의 생성 (CreateProcess)

      2020.04.05 by RACC8N

    • 05.2 프로세스의 스케줄링과 상태 변화, 컨텍스트 스위칭

      2020.04.05 by RACC8N

    • 05.1 프로세스(Process)의 이해

      2020.04.05 by RACC8N

    • 00. RISC vs CISC

      2020.03.18 by RACC8N

    • 03. WIN32 vs WIN64

      2020.03.18 by RACC8N

    • 02. 아스키코드 vs 유니코드

      2020.03.17 by RACC8N

    05.3 프로세스의 생성 (CreateProcess)

    CreateProcess 함수의 이해 부모 프로세스(Parent Process) : CreateProcess함수를 호출하는 프로세스 자식 프로세스(Child Process) : CreateProcess함수 호출에 의해 생성된 프로세스 lpApplicationName 생성할 프로세스의 실행파일 이름 lpCommandLine 생성할 프로세스의 매개변수 (lpApplicaionName에 NULL을 주고, 여기에 이름을 넣어도 됨) lpProcessAttributes 프로세스 보안 속성 지정 (NULL : default) lpThreadAttributes 쓰레드 보안 속성 지정 (NULL : default) bInheritHandles TRUE : 생성되는 자식 프로세스는 부모 프로세스가 소유하는 handle을..

    Programming/Windows System 2020. 4. 5. 16:38

    05.2 프로세스의 스케줄링과 상태 변화, 컨텍스트 스위칭

    프로세스의 스케줄링(Scheduling) CPU는 하나인데, 어떻게 여러 개의 프로그램이 동시에 실행 가능한 것인가? 기본적으로 CPU는 한 순간에 하나의 프로그램만 실행 가능하다. -> 하나의 CPU가 여러 개의 프로세스를 번갈아 가면서 실행한다.(아주 빠른 속도로) 스케줄링 : 프로세스의 CPU할당 순서 및 방법을 결정짓는 일 스케줄러 : 스케줄링 알고리즘을 적용해서 실제로 프로세스를 관리하는 운영체제 요소 프로그램이 실행되는 과정에서 많은 시간을 I/O에 할당한다 -> I/O관련 작업은 CPU 연산을 필요로 하지 않는다. 프로세스의 상태 변화 Ready 상태 : 프로세스가 CPU에 의해 실행되기를 희망하는 상태 (스케줄러에 의해 관리됨) Running 상태 : CPU에 의해 실행되는 상태 Block..

    Programming/Windows System 2020. 4. 5. 15:25

    05.1 프로세스(Process)의 이해

    프로세스란 무엇인가? 실행 중에 있는 프로그램을 의미한다. EX) 실행 파일 block.exe 를 더블클릭 -> 프로그램의 실행을 위해 메모리 할당이 이루어짐, 이 메모리 공간으로 바이너리 코드가 올라감 (프로그램->프로세스) 프로그램 실행 시 메모리 구조 (프로세스 구조) Stack 영역 : 지역변수, 매개변수 Heap 영역 : 동적 할당 Data 영역 : static, 전역 변수 Code 영역 : 실행파일을 구성하는 명령어들 (실행 코드) ※ CPU가 block.exe를 실행 중에 있다면, 레지스터들은 block.exe의 실행을 위해 필요한 데이터들로 채워지게 된다. 따라서 레지스터들의 상태까지도 프로세스의 일부로 포함시켜 말할 수 있다.

    Programming/Windows System 2020. 4. 5. 14:53

    00. RISC vs CISC

    CISC (Complex Instruction Set Computer) : 복잡한 명령어 체계를 가지는 컴퓨터. 단점 - 명령어 수가 많고, 그 크기가 일정하지 않기 대문에 CPU는 복잡해 질 수 밖에 없다. 이러한 복잡한 구조는 성능 향상에 제한이 따른다. 보다 높은 성능의 CPU를 디자인하기 위해서는 보다 단순한 CPU 구조가 필요하다. RISC (Reduced Instruction Set Computer) : CPU의 명령어 개수를 줄여 단순하게 만든 구조. 고정 길이의 명령어를 사용하여 더욱 빠르게 해석할 수 있다. 레지스터 사이의 연산만 실행하며, 메모리 접근은 SAVE, LOAD등 명령어 몇 개로 제한된다. 이로인해 회로가 단순해지고, 불필요한 메모리 접근을 줄일 수 있다. 임베디드 환경에서 ..

    Programming/Windows System 2020. 3. 18. 17:30

    03. WIN32 vs WIN64

    CPU는 I/O 버스를 통해서 데이터를 외부로 전송하기도 하고, CPU 내부로 수신하기도 한다. 이때 한 번에 전송 및 수신할 수 있는 데이터의 크기에 따라서 32비트 시스템과 64비트 시스템이 나뉘게 된다. 즉 CPU가 버스를 통해서 한 번에 전송 및 수신할 수 있는 데이터의 크기가 32비트면 32비트 컴퓨터, 64비트면 64비트 컴퓨터가 된다. 또 하나의 기준은 데이터 처리능력이다. CPU는 외부로부터 들어오는 데이터를 처리해야 하는데, 32비트 컴퓨터는 한 번에 32비트 데이터를, 64비트 컴퓨터는 한 번에 64비트 데이터를 처리할 수 있다. "한 번에 송·수신 할 수 있는 데이터 크기와 한 번에 처리할 수 있는 데이터 크기를 기준으로 32비트 컴퓨터와 64비트 컴퓨터를 구분 짓는다." 32비트 :..

    Programming/Windows System 2020. 3. 18. 15:54

    02. 아스키코드 vs 유니코드

    ASCII(American Standard Code for Information Interchange) CODE : 미국에서 정의하고 있는 표준이다. 알파벳 + 몇몇 확장 문자를 포함해도 256을 넘지 않는다. 따라서 1byte로 표현이 이 된다. UNICODE : 전 세계의 모든 문자를 컴퓨터에서 일관되게 표현하고 다룰 수 잇도록 설계된 산업 표준이다. ASCII CODE로는 영어를 제외한 다른 언어를 표현할 수 없으므로 등장하였다. 유니코드는 문자를 표현하는 데 있어서 균일하게 2byte를 사용한다. 문자셋 (Character Set) : 문자들의 집합, 즉 "약속된 문자의 표현방법"을 의미한다. 문자셋은 종류에 따라서 세 가지 형태로 나뉘어진다. 1. SBCS (Single Byte Characte..

    Programming/Windows System 2020. 3. 17. 22:29

    추가 정보

    페이징

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

    티스토리툴바