반응형

Challenges : Basic 10


Author : ArturDents


Korean 
OEP를 구한 후 "등록성공"으로 가는 분기점의 OPCODE를 구하시오. 정답인증은 OEP + OPCODE 
EX) 00400000EB03 

English 
After finding the OEP, find the OPCODE of the branch instruction going to the "goodboy routine" 
The solution should be in this format : OEP + Serial 
EX) 00400000EB03 


해당 파일은 패킹이 되어있다. 맨 처음에 문제를 접햇을때 upx 패킹 방식과 유사한 점을  볼 수 있었다.


 EP 지점에서 PUSH AD 명령을 사용 하고있어서 하드웨어 브레이크를 사용한다면 쉽게 언패킹 할수 있다 생각하여 바로 시행했다.

push AD 명령은 현재 상태에서의 모든 범용레지스터들을 스택에 쌓아놓는 명령어이다. 

upx 와 마찬가지로 esp 주소 부분에 하드웨어 브레이크를 걸고 넘어가면, 압축을 해제하고, 

OEP로 넘어가기 직전의 주소까지 한번에 접근 할 수 있다. 

OEP에 접근하고 나선 문제에서 물어보는것이 분기점의 Opcode 이므로, 해당 문자열을 찾아서,분기하는 부분의 opcode를 찾아 넣어주면 된다.   

반응형

'과거의 컴퓨터 공부 > codeengn-basic' 카테고리의 다른 글

(codeengn)level11  (0) 2015.03.15
(codeengn)level9  (0) 2015.03.14
(CodeEngn)level8  (0) 2015.03.13
(codengn)level07  (0) 2015.03.13
(codengn)level6  (0) 2015.03.04
,