OEP
-
[reversing.kr] PEPasswordWargame/study 2022. 1. 4. 02:02
1. Description 파일을 다운로드하면 다음과 같이 두 개의 .exe 파일을 확인할 수 있다. 각 파일을 실행해 보자. 1) Original.exe 위와 같이 "Password is ????????????" 문자열을 포함하는 메시지 박스가 출력되고 종료된다. 2) Packed.exe 대화 상자가 나타나고 문자를 입력할 수 있다. 따로 확인 버튼은 없다. 2. Analysis 1) Original.exe 먼저 Original.exe 파일을 분석해보겠다. Exeinfo PE로 패킹 유무를 검사해보았다. 따로 패킹은 되어 있지 않다. 이어서 ida로 파일을 열어보았다. 스택에 선언된 변수들에 대하여 do-while 반복문으로 xor 연산을 진행하고 메시지 박스를 호출한다. 메시지 박스 호출 부분에 bp..
-
[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 레지스터를 각각 ..
-
[reversing.kr] Easy Unpack 풀이Wargame/reversing.kr 2020. 12. 13. 15:17
1. 프로그램 실행 reversing.kr에서 Easy Unpack을 다운로드하여 실행시켜 보자. 위와 같이 빈 창이 나올 뿐 다른 어떤 동작도 하지 않는다. 폴더내에 있는 ReadMe.txt를 읽어보자. Find the OEP. 즉 Original Entry Point를 찾을 것을 요구한다. 문제의 제목을 보면 알 수 있듯이, 해당 프로그램은 실행 압축되어있고 본래의 entry point를 찾는 것이 문제의 목적인 듯하다. 2. Debugging(with x32dbg) 실행하자마자 401150으로 jump 하는 부분이 있고, 해당 부분으로 jump를 하면 다음과 같다. 바로 entry point가 나와 버린다... x32dbg 옵션에서 시스템 중단점을 체크 해제해뒀을 때 위와 같이 OEP로 넘어가기 직..