본문 바로가기

WARGAME/codeengn

코드엔진 베이직 10

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


PEiD로 확인해보면 ASPACK 2.000 으로 패킹되어 있다.


올리디버거로 열어보면 EP에 PUSHAD부터 시작하는 것을 볼 수 있는데, UPX와 비슷한 방식일 것 같아서 PUSHAD를 진행하고 ESP의 1바이트에 하드웨어 BP를 걸고 실행했다.


그럼 약간 밑에 RET이 나오는데 그곳에서 점프하면 00445834 주소로 점프하게 된다. 이곳이 OEP인 것 같다.


( 여기서 OllyDbg 1.1으로 했었는데, RET을 하게 되면 코드 복구가 안되어있어서 굉장히 애를 먹었다. 

그래서, OllyDbg 2.1로 다시 설치후 하니까 아주 잘됨. 어제도 코드 복구가 안되서 실습 못한 문제가 하나 있었는데, 단순 디버거의 버전이 낮아서 인 것 같다.)


OEP부터 쭉쭉 내려가다 보면 다음과 같은 부분을 만날 수 있는데, 정답은 등록성공으로 가는 "분기문"의 기계어 코드이므로 이곳으로 점프하는 jmp, jnz, je 등의 분기문 기계어를 쓰면 된다.







OEP : 00445834

분기점의 OPCODE : 75 55


답 : 004458347555

'WARGAME > codeengn' 카테고리의 다른 글

코드엔진 베이직 12  (0) 2014.12.13
코드엔진 베이직 11  (0) 2014.12.13
코드엔진 베이직 9  (0) 2014.12.13
코드엔진 베이직 8  (0) 2014.12.11
코드엔진 베이직 7  (0) 2014.12.10