목록SWING/[21-2] REVERSING (6)
R136A1
보호되어 있는 글입니다.
보호되어 있는 글입니다.
보호되어 있는 글입니다.
oopsys.tistory.com/177 일반 압축 비손실 압축 (=무손실 압축) 원본의 데이터 훼손 없이 용량을 줄이는 것 주 목적: 데이터 크기를 줄여 보관 및 이동에 용이하도록 함(.zip .7z) 파일 사용 시 해당 압축을 해제해서 사용(이 과정에서 데이터의 무결성 보장 필요) 손실 압축 데이터에 의도적으로 손상을 주어 압축률을 높임 (원본으로 되돌릴 수 없음) 주로 멀티미디어 파일에서 인간이 지각하기 힘든 범위의 데이터를 버리고 압축함 (.jpg .mp3 .mp4 .mkv) 실행 압축 = 패킹 Packing = Binary Packing 일반 압축 → 압축을 해제시켜야 해당 프로그램을 실행 시킬 수 있음 실행 압축 → 있는 그대로 일반 프로그램처럼 실행 가능 실행(PE)파일 내부에 압축해제코드를..
어셈블리 명령어 참고: 최은정교수님 윈도우즈보안과운영실습 1) 데이터 이동 값을 직접 레지스터로 대입 레지스터에서 레지스터로 옮기기 값을 직접 메모리로 대입하기 레지스터에서 메모리로 또는 그 반대로 옮기기 메모리에서 메모리로 옮기기 MOV: move operand1 스택 4byte증가 == (현재 스택포인터) ESP 4byte 감소 // 스택에만 사용하는 opcode이므로 저장될 장소 operand 필요없음. 값 operand만 - PUSH EBP // 스택에 EBP 값을 push - PUSH 5 // 스택에 5를 push POP: 스택 끝에 저장된 값을 가져옴 => 스택 4byte감소 == (현재 스택포인터) ESP 4byte 증가 // 스택에만 사용하는 opcode이므로 가져올 장소 operand 필..
레지스터 개요 CPU가 요청을 처리하는 데 필요한 데이터를 일시적으로 저장하는 기억장치 무리 없이 명령을 수행하기 위해 메모리보다 빨라야 함(실제로 수십 배~수백 배) 보조기억창치: 데이터를 영구적으로 저장 메모리: 임시적으로 저장 메모리로 연산의 "결과"를 보내고 보조기억장치에 데이터를 저장하는 "명령"을 처리하기 위해서는 이들에 대한 주소와 명령의 종류를 저장할 수 있는 기억 공간이 하나 더 필요 CPU에서 메모리로 데이터를 전송하기 위해서는 특정 주소를 가리키거나 값을 읽어오는 레지스터를 이용해야함. CPU 메모리 메모리에서 레지스터로 데이터를 복사해오는 데이터 전송 명령을 "적재(load)"라고 함 적재명령 = 연산자 이름 + 메모리에서 읽어온 값 저장할 레지스터 + 메모리 접근에 사용할 상수 +..