Reversing

Reversing

리버스 엔지니어링 - 객체의 동적할당과 해제 --

특징 - 일반 선언과 다르게 스택에 바로 클래스 크기 만큼 할당 하지 않고, 포인터 하나를 선언하여 사용. 즉 메모리 할당 코드 필요. ---> 클래스 크기 = new 사용할때 확인 가능. push 88h ;클래스 크기(uint) call ???@YAPAXI@Z ; operator new(uint) add esp, 4 (스택 정리 __cdecl 함수 규약) mov [ebp+var_8], eax ; eax->포인터 주소 -------->[ebp+var_8] == 포인터 (리버스 엔지니어링 바이블 중 일부를 공부하며 작성했음을 알림니다.)

Reversing

어셈블리어 1장 80x86시스템 CPU 구조

시작하기 앞서 본 내용은 시스템 해킹과 보안 (정보보안 개론과 실습)책을 기반으로 공부하며 적는 글이란것을 알린다. 80x86 시스템 CPU의 구조는 연산장치, 제어장치, 레지스터, BUS 인터페이스로 나눠져있다. 첫번째로 연산장치, 이는 CPU 핵심 부분 중 하나로, 산술과 논리등의 연산을 한다. 연산장치의 구성 요소 1. 내부장치 1.1 가산기: 덧셈 연산 수행 1.2 보수기: 뺄셈 연산 수행, 1의 보수나 2의 보수 방식 이용 1.3 시프터: 비트를 오른쪽이나 왼쪽으로 이동하여 나눗셈과 곱셈 연산을 수행] 2. 관련 레지스터 2.1 누산기: 연산의 중간 결과 저장 2.2 데이터 레지스터: 연산에 사용할 데이터 저장 3.3 상태 레즈스터: 연산 실행 결과로 나타나는 양수와 음수, 자리올림, 오버플로 ..

Kon4
'Reversing' 카테고리의 글 목록