[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 |