본문 바로가기
리버싱(Reversing)/리버싱 개념

리버싱 핵심원리 (14장)

by LIZ0904 2020. 11. 2.
반응형

14.1 데이터압축

데이터 압축은 컴퓨터 공학의 주요분야로, 어떤 형태의 파일이라도 내부는 바이너리로 되어있으며, 이를 적절한 압축 알고리즘을 사용하여 크기를 줄이는 것이다. 이 압축된 파일을 100% 복원할 수 있으면 비손실 압축, 복원할 수 없으면 손실압축이라고 부른다.

 

비손실 압축

파일 크기를 줄여서 보관 및 이동에 용이하도록 하려는 목적으로 사용된다. 대표적인 비손실 압축 알고리즘은 Run-Length, Lempel-Ziv, Huffman 등이 있으며, 대표적인 압축 포맷인 ZIP, RAR 등도 근본압축개념은 앞의 예시와 같다고 볼 수 있다.

 

손실압축

손실압축은 파일에 의도적인 손상을 주어서 그 댓가로 압축률을 높이는 목적으로 사용된다. 주로 멀티미디어 파일(jpg, mp4)은 대부분이 이 기법을 사용하는데, 이 손실압축은 특성상 원본으로 되돌릴 수 없다. 하지만 원본과는 데이터 측면서에 차이가 있을 수 있지만, 사람이 알아차릴 수 있을 정도로 차이가 발생하는 건 아니다.

 

14.2 실행압축

실행압축을 실행파일(PE 파일)을 대상으로 파일 내부에 압축 해제 코드를 포함하고 있어서, 실행되는 순간에 메모리에서 압축을 해제시킨 후 실행시키는 기술이다. 

실행 압축된 파일 역시 PE파일이며, 내부에 원본 PE파일과 decoding 루틴이 존재한다. EP 코드에 decoding 루틴이 실행되면서 메모리에서  압축을 해제시킨 후 실행된다. 

 

패커(Packer)

PE 패커란 실행파일 압축기를 말한다. 일

반 PE파일을 실행 압축 파일로 만들어주는 유틸리티라고 할 수 있다.

 

파일의 크기를 줄이고, PE 파일의 내부코드와 리소스를 감추기 위한 목적을 갖고 있다.

실행압축개념은 DOS 시절부터 존재하였으나, 최근에서야 유틸리티, 패치파일, 일반 프로그램 등 널리 사용되고 있다.

 

PE 프로텍터(Protector)

PE 프로텍터란 PE 파일을 'Reverse Code Engineering'으로 부터 보호하기 위한 유틸리티이다. 패커처럼 실행 압축을 해주는데에, 리버싱을 막기위한 다양한 기법이 추가된 것이라고 보면 된다.

이러한 프로텍터들로 압축된 PE 파일들의 크기는 오히려 원본 PE 파일보다 커지는 경향이 있다.

크래킹을 방지하고, 코드 및 리소스를 보호하려는 목적을 갖고 있다.  

 

반응형

댓글