📖 책 '리버싱핵심원리'를 바탕으로 학습한 내용을 정리한 글입니다.
📌데이터 압축
어떤 형태의 파일이라도 내부는 바이너리로 되어있으며 이는 압축 알고리즘을 사용하여 크기를 줄일 수 있음
-> 100% 복원할 수 있으면 비손실압축
-> 원래대로 복원할 수 없으면 손실압축
📑비손실 압축
- 보관 및 이동에 용이하도록 크기를 줄임
- 사용시 압축 해제 필요 (무결성 보장 필요)
대표적 알고리즘 : Run-Length , Lempel-Aiv, Huffman
📑손실압축
- 데이터에 의도적인 손상을 주어서 그 댓가로 압축률을 높임
- 멀티 미디어 파일들이 사용
- 원본으로 되돌릴 수 없음 (사람은 차이점 구분 불가)
📌실행압축
- 실행(PE)파일을 대상으로 파일 내부에 압축 해제 코드 포함
- 실행되는 순간 압축해제와 동시에 실행
-> 실행 압축파일로 만들어 주는 유틸리티를 '패커'
-> 좀 더 Anti-Reversing기법에 특화 된 패커는 '프로텍터'
📑패커
실행 파일 압축기, 정확한 명칭은 Run-Time패커
사용목적
- PE 파일 크기 줄이기
- PE 파일 내부 코드와 리소스 감추기
사용현황
PC속도가 빨라지면서 널리 사용되는 중
패커 종류
📑프로텍터
PE파일을 Reversie Code Engineering으로부터 보호하기 위한 유틸리티
실행 압축 + 리버싱 방지 기법들
- 프로텍터로 압축된 파일들의 크기는 오히려 원본보다 커지는 경향이 있음
사용 목적
사용현황
크래킹에 민감한 보안 프로그램들이 많이 사용
일반적 악성코드에서 많이 사용 (AV제품의 진단을 막기 위해)
프로텍터 종류