packer
-
[Lenas Reversing for Newbies] 20Wargame/dreamhack.io 2021. 4. 4. 23:03
이번 실습에서는 기본적인 packer, protector, compressing, unpacking 등의 개념을 배우고, OEP를 찾는 연습을 진행한다. 실습 예제 파일로는 다음과 같은 8가지 실행 파일이 있다. - UnPackMe_CrypKeySDK5.7.exe - UnPackMe_EZIP1.0.exe - UnPackMe_eXPressor1.3.0.1Pk.exe - UnPackMe_MEW1.1.exe - UnPackMe_NsPack3.5.exe - UnPackMe_NoNamePacker.d.out.exe - UnPackMe_Exe32Pack1.42.exe - UnPackMe_Fusion4.0.00.c.exe 강의에서는 OEP를 찾은 후, 그 상태에서 OllyDbg 용 플러그인을 이용해 dump를 뜨고 ..
-
[리버싱 핵심원리 study] 15장 UPX 실행 압축된 notepad 디버깅Reverse Engineering 2020. 12. 29. 02:49
이전 실습에서 생성한 notepad_upx.exe를 디버깅하여 실행 압축에 대한 개념을 이해하고 원시적인 방법으로 tracing 하면서 OEP를 찾아보자. 1. notepad.exe의 EP code 우선 원본 notepad.exe의 EP 코드를 살펴보자. 010073BE에서 GetModuleHandleA API를 이용하여 notepad.exe 프로세스의 ImageBase를 구한 후, 010073B4와 010073C0 주소에서 각각 MZ와 PE Signature를 비교한다. 2. notepad_upx.exe의 EP Code EP 주소는 010154F0으로, 이곳은 두 번째 섹션의 끝부분이다. 우선 PUSHAD 명령어를 통해 EAX ~ EDI 레지스터 값을 스택에 저장하고, ESI와 EDI 레지스터를 각각 ..
-
[리버싱 핵심원리 study] 14장 실행 압축Reverse Engineering 2020. 12. 29. 00:36
실행 압축(run-time packer)은 리버싱의 단골 주제로, 이를 이해하기 위해서는 PE file format과 운영체제의 기본적인 사항들에 대해 잘 알고 있어야 하며, 압축/해제 알고리즘에 대한 기본적인 내용에 대해서 알아야 한다. 실행 압축이란, 말 그대로 실행(PE: Portable Executable) 파일을 대상으로 파일 내부에 압축해제 코드를 포함하고, 실행되는 순간에 메모리에서 압축을 해제시킨 후 실행하는 기술이다. 일반적인 압축과는 다르게 실행이 가능하다는 특징이 있으며, 실행 압축을 통해 리버싱을 방해할 수도 있으며 코드 양이 더 늘어나는 경우도 있다. 1. 패커(Packer) PE 패커(Packer)란 실행 파일 압축기를 말한다. #1 사용 목적 PE 파일의 크기 감소를 통해 네트..