728x90 전체 글491 운영체제_1 Chapter2 : Operating System Structures -Operating System Services 1) User Interface : Command Line Interface (CLI), Graphics User Interface(GUI) ,Batch 2) Program execution : 메모리에 로딩, run, end 3) I/O operations 4) File-system manipulation(파일 시스템 관리) 5) Communication : Shared memory 또는 message passing 6) Error detection 7) Resource allocation 8) Accounting : 사용자가 얼마나 어떤 컴퓨터 리소스를 사용하는지, To keep tr.. 2020. 4. 18. OllyDBG 단축키 OllyDBG 는 많은 리버서들이 사용하고 있는 굉장히 유용한 프로그램입니다. 이 프로그램을 쉽게 사용하기 위한 유용한 단축키입니다. 익숙해질때까지 계속 익히는게 좋습니다. 명령어 단축키 설명 Step Into F7 하나의 OP code 실행(함수 내부로 들어감) Step Over F8 하나의 OP code 실행(함수 내부로 안 들어감) Restart Ctrl+F2 다시 디버깅시작(프로세스 종료하고 재실행시킴) Go to Ctrl+G 원하는 주소 찾아감(코드 확인할때 사용, 실행되는 것은 아님) Run F9 실행(BP 걸려있으면 그 곳에서 실행 정지) Execute till return Ctrl+F9 함수 코드 내에서 RETN 명령까지 실행(함수 탈출 목적) Execute till cursor F4 cu.. 2020. 4. 18. 리버싱 핵심 원리_1 개발도구(visual stdio같은)로 C언어 소스 코드 빌드, 실행파일이 생성. 이 과정에서 사람이 이해하기 쉬운 명령어에서 기계가 이해하기 쉬운 기계어로 바뀜. 디버거(debugger) 유틸리티에 디스어셈블러(disassembler)를 통해 코드를 보게 됨. -EP(Entry Point) : CPU에 의해 가장 먼저 실행되는 코드시작위치 코드의 앞쪽에 Stub Code(컴파일러에 의해 생성되는 코드, 전역변수와 같은 것들이 생성)이 존재 -> main() 함수를 찾는 게 중요 Kernel32.GetCommandLineW - Windoww32 API 호출 코드 -BaseCamp를 설치하는 4가지 방법 1) Goto - Ctrl + G (원하는 주소를 바로 입력하여 감) 2) BP(BreakPoint) .. 2020. 4. 18. 레지스터 레지스터 구조 main에 breakpoint 걸고 run으로 실행한 후 레지스터 정보를 gdb 로 열었습니다. 레지스터 구조 4개의 범용 레지스터 ( 사진엔 rax,rbx,rcx,rdx 로 되어 있다. 이는 메모리 효율을 위해 절반의 비트만을 사용한 것이다.) EAX - accumulator EBX - base ECX- counter EDX - data ->주로 CPU가 기계어를 실행할 때 임시변수로 사용되는 레지스터 4개의 범용 레지스터 ESP - Stack Pointer (32,64비트 저장) EBP - Base Pointer ESI - Source Index (인덱스도 엄밀히 말해선 포인터) EDI - Destination Index (각각의 위치를 가리킨다) ->프로그램을 실행하고 메모리를 관리 .. 2020. 4. 17. 이전 1 ··· 119 120 121 122 123 다음 728x90