본문 바로가기

Security study/CTF

[Reversing]패킹(packing), 언패킹(unpacking)

[1]패킹(packing) 

-> 실행 압축이라는 뜻을 가지고 있다. 우리가 일반적으로 알고 있는 압축은 압축을 해제 시켜야 프로그램을 실행 시킬 수 있지만 packing 은 일반 프로그램처럼 실행이 가능하다.

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

 

1.패킹을 하는 이유

-> 데이터 압축 또는 악성 코드에서 작은 용량으로 빠르게 많이 퍼지게 하여, 분석이 불가능하게 만들기 위해서

-> 프로그램 분석을 어렵게 만들기 위해서이다. 

-> 데이터 보호

 

*패커 : 패킹을 해주는 프로그램이다. ex)UPX, FSG

 

[2]언패킹(unpacking)

-> 패킹이 되어있는 파일의 패킹을 푸는 작업

-> 대부분 언패킹 툴로 쉽게 언패킹이 가능하다.

 

* 패킹 여부를 알 수 있는 방법

-> Packer Detection(탐지)을 통해 패커를 확인하는 작업을 해야 한다.

-> 패커 탐지 tool을 이용하는 것 ex)PEID, exeinfope 등

 

* 언패킹 툴을 구할 수 없는 경우

-> 수동으로 실행시켜서 복호화 코드가 끝나는 지점을 찾아야 한다.

-> OEP를 찾으면 언패킹이 쉬워진다.

 

'Security study > CTF' 카테고리의 다른 글

[Reversing] codeengn Basic L02  (0) 2021.02.23
[Reversing] codeengn Basic RCE L06  (0) 2021.02.20
[Reversing]abex's crackme #2  (0) 2021.02.18
[Reversing] xcz.kr Prob9  (0) 2021.02.18
[Reversing] abex crackme #3  (0) 2021.02.17