실행 압축) 실행압축과 일반압축 (비 손실압축과 손실 압축)
일반 압축은 크개 두가지로 나눌수 있습니다.
손실압축과 비손실압축인데요
의도적으로 데이터에 손상을 주는 것입니다.
손실압축은 사람이 느낄수없을 정도만 손실을 주어서 데이터의 크기를 줄이는것입니다.
손실압축된 파일은 다시 복구할수없습니다.
압축할때 데이터가 사라지기떄문입니다.
손실 압축에는 주로 mp3나 mp4등 음악, 영상 등 에서 주로 쓰임니다.
비 손실압축은 대이터의 크기를 줄여서 보관 및 이동에 용의하도록 한것입니다.
비손실압축은 압축할떄 데이터가 사라지지 않아서 다시 복구 할수 있습니다.
비손실 압축에는 알고리즘이 필요하고 또한 많은 알고리즘이 있습니다.
대표적으로 Run-Length, Lempel-Ziv, Huffman 등이 있습니다.
그리고 이기반으로한 많은 압축 알고리즘이있습니다.
흔이 사용하는 알집이나 7-zip 빵집같은것이 비손실압축에 해당합니다.
실행압축은 실행가능한 파일을 압축 시키는것입니다.
실행압축에는 실행시 압축해제를 한후에 실행을 시키는 것입니다.
실행 압축된 파일은 역시 실행 가능한 파일이고 압축방법은
ep코드에서 decoding 루팅 되면서 메모리에 압축을 푸는것입니다.
일반 압축과 실행 압축의 차이점입니다.
항목 |
일반압축 |
실행압축 |
대싱파일 |
모든파일 |
pe파일 (exe, dll, sys) |
압축결과물 |
zip, rar |
pe파일 (exe, dll, sys) |
압축 해제 방법 |
전문 프로그램으로 해제 |
내부의 decoding 루틴 |
자체 실행 가능 여부 |
x |
o |
장점 |
모든 파일에 대해 높은 압축율로 압축 가능 |
별도의 해제프로그램이 필요없다. |
단점 |
압축 해제 프로그램이 없으면 해제 불가 |
실행시간이 decoding 루틴 떄문에 미세하게 느려진다. |
실행 파일을 압축시키는 프로그램이나 알고리즘은 무엇일까여?
실행 파일을 압축시키는 것을 실행 압축기 즉 packer라고 합니다.
정식 명칭은 run time packer 로 pe파일 전문 압축기 입니다.
하지만 패커에도 회손율이 다름니다
압축율이 크고 원본 파일을 회손시켜서 바이러스에 이용되는 패커가 있고
압축율이 작지만 원본파일을 보호하는 패커가 있습니다.
웝본 파일을 회손 시키는 패커로 압축된 프로그램은 av제품에서 바이러스로 인식이 됨니다.
그런데 패커는 압축박에 못합니다.
요즘에는 컴퓨터 속도도 빠르고 인터넷 속도도 빠름니다. 구지 할 칠요가 있을까여?
그래서 압축과 동시에 보호 할수도 있는 프로텍터가 있습니다.
단순히 일반 패터 처럼 압축만하는것 이아니라 리버싱을 막기위한 다양한 기법이 있습니다.
리버싱 하기에 매우 어렵습니다.
헌데 가끔은 원본 파일보다 크기가 커지기도 합니다.
프로텍터를 사용하는 이유는 다음과 같습니다.
실행 파일을 압축 시키는 이유는 다음과 같습니다.
크래킹 방지 (cracking)
자신이 만든 프로그램이 크랙이되어 불법적으로 사용된다면 좋아할 사람은 없져
그런경우 프로텍터로 압축 하면 도움이 됨니다.
코드 및 리소스 방지
프로텍터는 pe자체를 보호하여 파일이 실행되었을떄 프로세스 메모리를 보호하여서 덤프를 뜨게 하지 못하게 합니다.
따리서 리소스나 코드를 보호 할수 있습니다.
또한 게임이나 보안 프로그램에도 주로 쓰임니다.
게임핵이 생기면 많은 플래이어 들이 피해를 보게 됨니다.
프로텍터를 사용하면 게임핵이 만들어지기 힘들어지고 성공하면 금전적 이익을 볼수 있기 떄문입니다.
따라서 패커로 리소스나 코드를 보호 하여서 게임핵을 막을 수있습니다.
패커를 자주 바꿔 준다면 게임핵을 만들기 힘들어 짐니다.
하지만 이런 프로텍터가 악용 되기도 합니다.
악성 코드 처럼 컴퓨터에 피해를 입히는 프로그램에 사용되면 av(안티바이러스)에서 잡기 어려워 짐니다.
av 제품에서 감지를 최대한 늦추기 위해서 프로텍터를 사용하기도 합니다.
'스터디 > Windows 구조와 원리 OS를 관통하는 프로그래밍의 원리' 카테고리의 다른 글
기계어의 구성 (0) | 2014.07.15 |
---|---|
데이터의 표현과 메모리 구조 (0) | 2014.07.15 |
컴퓨터의 구조와 역사 (0) | 2014.07.15 |
목차 및 책 구성 (0) | 2014.07.15 |
스터디 카테고리에 관한 설명 (0) | 2014.07.15 |