데이터 압축 어떤 형태의 파일이라도 내부는 0과 1의 바이너리로 구성 이를 이용하여 적절한 알고리즘을 사용하면 크기를 줄일 수 있음 복원이 가능한 압축 → 비손실 압축 원래대로 복원 불가능한 압축 → 손실 압축 #1 비손실 압축 보관 및 이동에 용이하도록 파일 크기를 줄이는 데 사용 파일 사용을 위해서는 데이터의 무결성을 보장하여 해당 압축을 해제 대표적인 비손실 알고리즘 : Run-Length, Lempel-Ziv, Huffman → ZIP, RAR도 해당 알고리즘을 기반으로 압축을 적용한것 #2 손실 압축 압축률을 높이기 위해 파일에 의도적인 손상을 주는 압축 주로 멀티미디어 파일에서 사용하며 특성상 원본으로 되돌릴 수 없음 사람은 알아차리지 못하는 수준의 데이터 손상을 입힘 원본과는 분명히 차이가 ..
Windows 10 Defender Windows 10에 디폴트로 설치되어 있는 보안 소프트웨어입니다. PC의 상태를 실시간으로 감시하고, 바이러스나 스파이웨어와 같은 악의적인 소프트웨어를 검출하거나 삭제하기 위한 용도로 설치되어있습니다. 따라서 defender를 비활성화하면, 바이러스나 스파이웨어에 의한 OS의 파괴나 정보 누출 위험에 노출되게 됩니다. 검색 창에 [Windows 보안] 실행 왼쪽 카테고리에서 [바이러스 및 위협 방지 설정] 클릭 해당 옵션 중 **[실시간 보호] , [클라우드 전송 보호]**를 끔으로 설정 해당 옵션을 끄게되면 보안에 있어 여러 가지 취약점이 있을 수 있으므로 유의하여 사용!! Window의 보안 정책 상 해당 보호는 완전히 끄는 것은 추천하지 않음
0. 들어가며 PE (Portable Executable) 파일은 Windows 운영체제에 사용되는 실행파일 형식 32비트의 경우 PE32 / 64비트의 경우 PE+ 혹은 PE32+ 라고부르며 PE파일의 확장 형태 1. PE File Format 1) PE 파일 종류 종류 주요 확장자 실행 계열 EXE, SCR 라이브러리 계열 DLL, OCX, CPL, DRV 드라이버 계열 SYS, VXD 오브젝트 파일 계열 OBJ OBJ 파일을 제외한 모든 것은 실행 가능한 파일 DLL, SYS는 쉘에서 직접 실행은 불가능하지만 다른 형태의 방법으로 실행 가능 (1) 기본 구조 메모장은 일반적인 pe파일의 기본구조로 구성 Dos header부터 Section header 까지 = PE 헤더 그 밑 부분의 Section..
0. 들어가며 함수 호출 규약 : 함수의 호출 및 반환에 대한 약속 함수 호출 시 프로그램의 실행 흐름이 다른 함수로 이동 이 때, 기존 함수로 돌아오기위해 호출 방식에 대한 약속을 규정 1. 함수 호출 규약 함수를 호출할 때는 반환된 이후를 위한 호출자의 StackFrame 및 반환 주소 저장 피호출자가 요구하는 인자 전달 피호출자의 실행 종료 시 반환 값 전달 함수 호출 규약을 적용하는 것은 일반적으로 컴파일러 2. 함수 호출 규약의 종류 CPU 아키텍처와 컴파일러 종류에 따라 함수 호출 규약도 달라짐 x86(32비트) 아키텍처 레지스터를 통해 피호출자의 인자를 전달하기에는 레지스터의 수가 적어 스택을 이용하는 함수 호출 규약 사용 cdecl stdcall fastcall x86-64 레지스터가 많으..
1. 스택프레임 ESP (스택 포인터)가 아닌 EBP (베이스 포인터) 레지스터를 사용하여 스택 내의 로컬 변수, 파라미터, 복귀 주소에 접근하는 기법 ESP의 레지스터의 값은 프로그램 안에서 수시로 변경 ESP값을 기준으로 하면 스택에 저장된 변수, 파라미터에 접근을 하기 어려움이 있음 ESP 값을 EBP에 저장하고 이를 함수 내에서 유지해 아무리 ESP 값이 바뀌어도 EBP를 기준으로 해당 함수의 변수, 파라미터, 복귀 주소에 접근 가능 2. 스택 프레임의 구조 PUSH EBP ; 함수 시작 (EBP 값을 저장) MOV EBP, ESP ; 현재 ESP 값을 EBP에 저장 (함수 본체) ; EBP의 값은 변하지않음 -> 로컬 변수와 파라미터 엑세스 가능 MOV ESP, EBP ; ESP 값 복구 POP..
1. PE 구조 개요 Portable Executable : 윈도우 운영체제에서 사용되는 실행 파일, DLL, object 코드, FON 폰트 파일 등을 위한 파일 형식 윈도우 로더가 실행 가능한 코드를 관리하는데 필요한 정보를 캡슐화한 구조체 1) pe 파일 종류 실행 계열 : EXE, SCR 라이브러리 계열 : DLL, OCX, CPL, DRV 드라이버 계열 : SYS, VXD 오브젝트 파일 계열 : OBJ 2. PE 파일 구조 전체적인 PE 파일 구조 1) 전반적인 구조 다양한 정보들이 PE Header에 구조체 형식으로 저장 위 그림처럼 Dos Header ~ Section Header를 PE Header 그 이후를 PE Body 또는 Section이라 부름 파일에서는 offset, 메모리에서는 ..