728x90

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 

-----------------------------------------------------------------------------------------------

실행해 보니 PUSHAD로 시작합니다. PEiD로 확인을 해보면



역시나 패킹이 되어있지만 이번에는 UPX가 아닌 ASPack이란 방식으로 되어있네요.

패킹 방법을 찾아보니 UPX와 크게 다르지 않습니다.



그림과 같이 1줄 진행하여 레지스터들을 스택에 넣은후

ESP에 커서를 놓고 오른쪽버튼 - Follow in Dump 를 눌러 덤프를 뜹니다.



그리고 덤프에서(왼쪽 아래창) break point 를 걸어줍니다.

이렇게 하는 이유는 PUSHAD를 했으면 언젠가 POPAD를 할 텐데

그 지점을 찾기가 힘드니까 이런식으로 break point를 거는 것 입니다.


그리고 진행을 하면 


원하는 곳으로 오게 되었습니다. 진행하여 OEP로 갑시다.



뭔가 휑 하고 이상하지만 참고 덤프를 뜨고 LordPE로 rebuild를 해줍시다.



Unpacking이 잘 되었습니다. 옵코드를 보니 덤프뜨기전 OEP의 값들과 같습니다.


all referenced text strings을 보니 Registered well done! 이라는 부분이 있습니다.

더블클릭 해서 위에 있는 분기점의 옵코드를 확인합시다. 그럼 끝!

728x90

+ Recent posts