먼저, 우리가 알고 있는 압축에 대해서 간단히 정리해보자.
압축은 '파일의 용량을 줄이기 위한 것'이라고 대부분의 사람들이 알고 있고, 실제로도 그것이 맞다.
하지만 압축에도 한 가지 종류만 있는 것이 아니기 때문에, 각각의 특징들에 대해서 알아보아야 한다.

데이터 압축은 크게 두 종류로 나눌 수 있다.

1. 비손실 압축 (Lossless Data Compression)
2. 손실 압축 (Loss Data Compession)

 파일을 압축할 때에는 압축 알고리즘을 사용하여 압축을 하게 되는데, 압축된 파일을 손상 없이 원래대로 되돌릴 수 있다면 이를 비손실 압축(Lossless Data Compression)이라 하고, 원래대로 복원할 수 없다면 이를 손실 압축(Loss Data Compression)이라 한다.

http://terms.naver.com/entry.nhn?docId=2271943&cid=51207&categoryId=51207

1. 비손실 압축


비손실 압축을 한 파일을 사용, 열람하기 위해서는 파일 압축을 해제 후 사용하여야 하는데, 이 과정에서 데이터가 100% 복원되어야 하고, 데이터의 손실이 없어야 한다.
비손실 압축의 종류에는 우리가 흔히 사용하는 7-zip, 빵집 등이 포함된다.

2. 손실 압축

손실 압축이라 함은, 데이터에 의도적으로 손상을 주어 압축률을 높이는 방식을 말한다.
손실 압축은 주로 멀티미디어 파일(jpg,mp3,mp4)에 이용되며, 그 특성상 원본으로 되돌릴 수 없다.
mp3파일을 예로 들어보자.
mp3파일을 만들 때, 압축률을 높이기 위해서 사람의 가청 주파수범위(20~20,000Hz)를 벗어나는 영역을 제거한다.
하지만 가청 주파수범위를 벗어났기에, 사람의 귀는 이 미세한 변화를 감지하지 못한다.

 

 

참고서적
-리버싱 핵심원리

'Hacking' 카테고리의 다른 글

VIsual Basic에서 간접호출을 사용하는 이유  (0) 2016.06.10
어셈블리 CMP  (0) 2016.03.31
PE파일 재배치  (0) 2016.01.07
데이터 압축 (실행압축)  (0) 2016.01.04

+ Recent posts