히공

코드엔진 - basic 05 본문

reverse engineering/CodeEngn

코드엔진 - basic 05

heegong 2020. 9. 10. 21:21
728x90

05번 문제를 풀겠습니다.

 

 

이러한 문제 입니다.

 

 

 

실행시키면 이러한 창이 나타납니다.

 

 

 

 

 

문제를 풀기 전에 PEID라는 것으로 저 프로그램의 정보를 확인해 봅시다.

 

여기를 클릭하시면 다운하실 수 있습니다. (출처 : playthegame00.tistory.com/5)

 

 

 

 

 

 

 

 

 

 

 

 

실행시키고 05.exe를 열어보면 upx패킹이 되었다고 알려줍니다.

 

 

 

자 UPX 패킹이란 

 

파일 크기를 줄이고 내부 코드와 리소스를 감추기 위한 목적으로 사용 됩니다. 실행 압축 방식으로 파일 내부에 압축해제 코드를 포함하고 있기 때문에 실행되는 순간에 메모리에서 압축을 해제하여 바로 실행할 수 있습니다

 

 

 

 

한마디로 어떠한 주소에 OPCODE(기계어)를 작성하고 그 작성한 주소로 jump하게 됩니다. 

 

 

 

 

 

 

 

 

x32dbg로 보면 pushad에서 멈췄습니다.

UPX패킹의 특징이라면 

pushad후 popad후 jmp로 원본코드로 점프합니다.

 

 

원본코드로 점프하는것을 볼 수 있습니다.

 

 

 

 

 

 

 

 

 

 

 

F2를 눌러서 bp(break point)를 걸고 f9를 눌러서 bp전까지 실행 시킵니다.

 

 

 

 

 

 

 

 

 

f8을 눌러서 jump합니다

 

 

 

 

원본 코드 입니다.

 

 

 

 

 

 

 

 

문자열 중에 Congrats 로 시작하는 성공했을때 출력될꺼 같은 것으로 이동합니다.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

[ebp+2C4] 부분이 Name 부분이고 Registered User 이라고 입력이 되어야 합니다.

 

 

 

 

 

 

 

 

 

ebp-4가 GFX-754-IER-954 여야 합니다.

 

그러면 점프를 하지 않고 축하한다는 메세지가 나오게 됩니다.

 

 

 

 

 

 

 

 

시리얼은 GFX-754-IER-954이니깐

 

 

정답 : GFX-754-IER-954

 

'reverse engineering > CodeEngn' 카테고리의 다른 글

코드엔진 - basic 07  (0) 2020.09.16
코드엔진 - basic 06  (6) 2020.09.16
코드엔진 - basic 04  (0) 2020.09.10
코드엔진 - basic 03  (0) 2020.09.10
코드엔진 - basic 02  (0) 2020.09.10
Comments