Korea 
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 

 

문제를 보면 역시나 Packing이 되어 있다는 것을 알 수 있다.

하지만 이몸은 이미 UPX에 익숙해져 있는 몸!ㅋㅋㅋ

쉽게 해주마!!

 

그래서 일단 프로그램을 다운 받고 PEiD를 돌려봤다.

왐마…. 요건 뭐냐;;; ASPack이당ㅠㅠ 댄장… CodeEngn이 나를 여러 방면으로 키워 주는구나!!

 

그리고 실행을 해봤더니…. 뭐야;; 이름이랑 시리얼이 쳐지지도 않네!!ㅋㅋㅋ

어쩌냐ㅋㅋㅋ

 

올디로 열어보니 UPX와 똑같이 PUSHAD로 시작하고 있었다. 어쩐지 전부는 아니더라도 다른 Packer들도 PUSHAD로 시작하는 것이 몇 개 있을 거 같다.

그리고 똑같이 F8->Dump->HP 하고 보니 POPAD아래로 떨어졌다. 흠 여기까지는 같네??

 

그리고 소스를 보니 어쩐지 다 된거 같다.

근데 나중에 검색해 보니 저렇게 된게 맞고

http://blog.naver.com/kodoi486?Redirect=Log&logNo=70026289264참조

6) JNZ 로 시작하는 명령에서 실행이 멈춤

7) Step into (F7)을 2번 더 누름

8) Push로 시작되는 명령줄 밑 retn에 도달해 잇어야함

9) F7을 한번 더 누름

10) AS pack으로 암호화(?)된 문자열들 앞으로 이동함 (여기가 OEP)

11) Ctrl + A (Analyse Coed)를 누름

12) 코드가 제대로 보임

위와 같은 과정이 더 필요하다는 것을 알게 되었다.

 

위와 같은 코드가 ctrl+a를 누름으로써 알아 볼 수 있는 코드로 바뀌었다.

오호ㅋ 신기하다ㅋㅋ 곧 풀 수 있을 것 같다. ㅋㅋ

패킹을 한 후 텍스트를 보면 아래와 같은 문자열을 찾을 수 있다.

답이 곧 나올거 같다 bp를 걸고 진행해 보자

그럼 그림과 같은 곳에서 프로그램이 멈추게 된다.. 흠… 답은 저기 근처에 있다. ㅋ

Bloger: moltak.net

'Security > Reversing' 카테고리의 다른 글

CodeEngn 12  (0) 2010.04.12
CodeEngn 11  (0) 2010.04.12
CodeEngn 09  (0) 2010.04.12
CodeEngn 08  (0) 2010.04.12
CodeEngn 07  (0) 2010.04.12

+ Recent posts