[Pwnable] ELF Segment Sections 빠르게 구하기 (.init_array, .fini_array, .dynamic, .got, .data)
아주 많은 방법이 있지만 간단하고 빠른 포너블을 위해 편한거로 작성합니다. NO-PIE일 경우 : objdump -h {binary}더보기 objdump -h binarymain: file format elf64-x86-64Sections:Idx Name Size VMA LMA File off Algn 0 .interp 0000001c 00000000000002e0 00000000000002e0 000002e0 2**0 CONTENTS, ALLOC, LOAD, READONLY, DATA 1 .note.gnu.property 00000030 0000000000000300..
- Computer Science/System Hacking
- · 2024. 6. 20.
[Stack] 메모리 구조 : 간단한 동적분석
메모리 구조를 찾아보면 Computer Architecture, Operating System에서 많이 다루는걸 볼 수 있다.CS에서 가장 기초적이고 중요한 부분이기도 하다. 바쁜 사람들을 위한 표 정리segment역할권한예시Code실행 가능한 코드가 저장된 영역읽기 실행main() 등의 함수 코드Data초기화된 전역 변수, 상수가 위치하는 영역읽기 쓰기 / 읽기초기화된 전역 변수, 전역 상수BSS초기화되지 않은 데이터가 위치하는 영역읽기 쓰기초기화되지 않은 전역 변수Heap실행중에 동적으로 사용되는 영역읽기 쓰기malloc(), calloc() 등으로 할당 받은 메모리Stack임시 변수가 저장되는 영역읽기 쓰기지역 변수, 함수의 인자 등* Stack의 경우 NX 보호기법이 없을 경우 실행 권한도 갖고 ..
- Computer Science/Computer Architecture
- · 2024. 6. 17.
[운영체제] Interlude - Process API
서론 보기더보기들어가기 전, 이 게시물에서는 여러분들이 흔히 들어보신 부모 프로세스(parent process), 자식 프로세스(child process)가 언급됩니다. 빠른 정리를 위해 parent, child로 축약해 부르겠습니다. 단어에 혼동이 있을 수 있습니다. 해당 챕터에서는 프로세스를 만들고 제어하는 방법에 대해 다룬다. 코드 실습은 https://github.com/remzi-arpacidusseau/ostep-code/Get it right. Neither abstraction nor simplicity is a substitute for getting it right.Process 생성 및 제어UNIX 시스템에서 제공하는 다음 3가지 시스템 콜을 살펴볼 것이다.fork()exec()wai..
- Computer Science/Operating System
- · 2024. 6. 5.