본문 바로가기

Computer Engineering/System

[퍼옴]부팅은 어떤 순서로 이루어지나? From Evernote: [퍼옴]부팅은 어떤 순서로 이루어지나? Clipped from: http://www.terms.co.kr/boot.htm [주의] 이 순서는 맥, 유닉스, OS/2 등 운영체계에 따라 조금씩 다를 수 있지만, 컴퓨터를 켰을때 운영체계는 대개 다음 순서에 의해 자동으로 부트된다. 1. 컴퓨터는 켜지자마자 컴퓨터 롬(ROM)에 들어있는 바이오스가 기동되며 임무를 시작한다. 바이오스는 롬에 저장되어 있기 때문에 램에 저장된 정보와는 달리, 컴퓨터를 끄더라도 그 내용이 지워지지 않는다. 2. 바이오스는 컴퓨터 부분품이 운영될 수 있는 상태인지를 확인하기 위하여 포스트(POST ; power-on self test)라고 불리우는 테스트를 수행한다. 그런 다음 바이오스의 부트 프로그램은 .. 더보기
[Lord of BOF] orge 정복기 이번 아이디어는 이전 몹(?)들을 물리치면서 겪은 경험상 떠오른 아이디어이다. gdb 를 이용해서 argv[0] 에 있는 값을 확인하면 실행파일의 절대경로가 들어갔던 것이 생각이 났다. 즉 절대경로를 이용해서 들어가는 것을 확인 할 수 있었다. 여기에 착안해서 확인을 해보자!! $ pwd [darkelf@localhost darkelf]$ pwd /home/darkelf 그리고 경로가 실제로 어떻게 확인하기 위해서 Test 파일을 생성해 보았다. [darkelf@localhost darkelf]$ vi path_test.c #include #include main ( int argc , char *argv[]) { int pathlen = strlen(argv[0]); printf("%s\n", ar.. 더보기
[Lord of BOF ] Darkelf 정복기 [wolfman@localhost wolfman]$ chsh Changing shell for wolfman. Password: New shell [/bin/bash]: /bin/bash2 Shell changed. [wolfman@localhost wolfman]$ exit logout // 일반 bash shell 에서는 \xff 가 나오면 멈춰버리는 오류가 있어서 chsh 명령어를 이용해서 bash2 로 shell 을 바꿔준다. login: wolfman Password: Last login: Mon Dec 26 17:13:10 from 192.168.148.1 // 다시 로그인 [wolfman@localhost wolfman]$ env PWD=/home/wolfman REMOTEHOST=192.1.. 더보기
[ESPC2] 0x08 Wolfman 정복기 보호되어 있는 글입니다. 더보기
[ESPC2] 0x07 정리 보호되어 있는 글입니다. 더보기
[ESPC2] 0x07 Eggshell 보호되어 있는 글입니다. 더보기
[ESPC2] 0x06 NOP SLED ( 놉 썰매 ) 보호되어 있는 글입니다. 더보기
[ESPC2] 0x05 BOF 보호되어 있는 글입니다. 더보기
[ESPC2] 0x04 Return Address 보호되어 있는 글입니다. 더보기
[펌글] CPU Register(레지스터) 32bit 레지스터 : 컴퓨터의 중앙 처리 장치(CPU) 내에 있는 소규모의 데이터 기억 장치입니다. 연산 처리 장치와 레지스터간은 CPU 내부 버스(bus)가 연결해줍니다. 예전엔 ax, bx, cx, dx 이라고 불렸던 레지스터들이 있었습니다. 이는 16bit에 알맞게 설계된 구조를 가진 레지스터들로 32bit CPU가 등장한 후로는 Extend라는 접두어를 붙여 eax, ebx, ecx, edx 라고 불립니다. = EAX = Extend Accumulator, 즉 누산기 레지스터라고 불립니다. 거의 모든 산술 연산에 사용되며(주로 곱셈이나 나눗셈 연산), 함수의 반환값이 들어가기도 합니다. 참고로 Win32 API Function들은 모두 API Function의 반환값을 EAX에 저장한 후 반환합니다. = .. 더보기