반응형
마땅한 샘플을 못찾아서..
글로만 설명하는 아주 지루한 시간이 되겠습니다.

저도 잘 못풀긴 하지만..
디버거를 자주 사용하지 않았던.. 사람들은 저보고 어떻게 푸냐고 묻습니다.

제가 푸는 방식은.. 순전히 제 경험에 의해 만들어진 것이기 때문에.. 설명드리기가 생각보다 쉽지 않습니다.
설명을 못한다는 것은 결과적으로 제가 모르는 것이기 때문에 다른 사람에게 설명을 할 수 있게끔 고민을 했었고..
그 방법을 설명을 해줬으나.. 제가 너무 어렵게 이야기 하는건지..
물어봤던 사람들이 디버깅에 관심이 없어서 못하는건지.. 다들 못하시더라고요 ^^;

일단!! 제가 설명해주는 Unpack을 하기 위해선.. 몇가지 선지식이 있어야 합니다.
1. Unpack 이란?
2. Unpack 원리
3. 일반적인 Stratup Code

이 정도 알면 많은 악성코드들을 Unpack 할 수 있을거 같네요. (그..그렇게 많이는 아닐지도요 ^^;)

방법은 아주 간단합니다.
1. OllyDBG 로 샘플을 Open 한다.
2. bp ExitProcess 또는 적절하게 코드가 다 풀릴때까지 실행한다.
3. 압축이 풀린 코드영역에서 일반적인 Startup Code에 자주 쓰이는 API를 검색한다.
4. Startup Code이기 때문에 그곳이 바로 Startup Function이며, 가장 상위에 있는 코드가 OEP일 것이다.

나머지는.. 심슨아저씨(Import REC)에게 부탁을 하거나 수작업으로 슥슥.. 처리해주시면 됩니다.

이 방식은.. 압축을 어떤 방식으로 했는지는 전혀 관계가 없는 방식입니다.
Unpack 코드를 확인하지 않기 때문에 어느정도 Hole 이 있는 방식이긴합니다.

하지만.. 쉽기 때문에.. 약간의 지식만 있다면 누구나 다 할 수 있는 방식이라고 생각하는데.. 아닌가요? ^^;




반응형

'작업공간 > Security' 카테고리의 다른 글

SQL 인젝션 취약점  (5) 2012.01.26
패킷에서 파일 추출하기 - 2  (2) 2011.12.29
Memory String  (0) 2011.12.29
AET  (0) 2011.10.31
TOP 100 Shells  (0) 2011.07.06

+ Recent posts