레지스터

해킹/리버싱

[해킹] 전용 레지스터

전용레지스터 Accumulaotr(누산기 AC) - 데이터를 일시 정장하는 레지스터이다. 기억장치로부터의 읽어온 데이터와 누산기에 적재되어 있던 데이터가 지정된 연산을 수행한 후 그 결과 값을 다시 누산기에 적재한다. 누산기 내용을 넌부 지워 0으로 만들 수 있으며, 왼쪽이나 오른쪽으로 몇 자리씩 움직일 수도 있다. 누산기의 비트 수는 CPU가 한 번에 처리할 수 있는 데이터 비트 수의 word의 길이와 같다. 데이터 일시저장, AC := AC의 현재값 + 메모리로부터 읽어온 값 Program Counter(프로그램 카운터 PC) : address of next instruction to execute. - 다음에 수행될 명령어의 주소를 가지고 있는 레지스터. PC 값은 word의 크기에 따라 1 또는 ..

해킹/리버싱

[리버싱] 스택프레임이란..?

스택 프레임(Stack Frame)이란? What's the stack frame? 스택 프레임(Stack Frame)이란 함수가 호출될 때, 그 함수만의 스택 영역을 구분하기 위하여 생기는 영역이다. 이 공간에는 함수와 관계되는 지역 변수, 매개변수가 저장되며, 함수 호출 시 할당되며 함수가 종료되면 소멸한다. 함수가 호출되면 스택에는 함수의 매개변수, 호출이 끝난 뒤 돌아갈 반환 주소값, 함수에서 선언된 지역변수 등이 저장됩니다. 이렇게 스택영역에 차례대로 저장되는 함수의 호출 정보를 스택프레임(Stack Frame)이라고 합니다. 이러한 스택 프레임 덕분에 함수의 호출이 모두 끝난 뒤에, 해당 함수가 호출되기 이전 상태로 되돌아갈 수 있습니다. 1. 함수 프롤로그(Prolog) push rbp, m..

해킹/리버싱

[해킹] 레지스터

레지스터 : CPU의 변수 범용 레지스터 8 bit Register : AH, AL 16bit Register : AX 32bit Register : EAX 64bit Register : RAX - 범위 레지스터: CPU에서 사용하는 변수의 일종 - EAX 산술 계산을 하며 리턴값을 전달합니다. 가장 많이 사용하는 변수 입니다. - EDX 큰 수의 곱셈 또는 나눗셈 연산 - ECX C : Counter 이다. 반복문에서의 카운터 for문의 i++의 역할이지만 반복문을 돌만큼 값을 저장한 후 감소하는 형태로만 작동합니다. - EBX EAX, EDX, ECX와 같은 일정의 변수 - ESI 문자열이나 각종 반복 데이터를 처리 또는 메모리 옮기는 데 사용합니다. - EDI 일종의 변수 ESI는 시작지 인덱스, ..

나봄하랑
'레지스터' 태그의 글 목록