CodeEngn Basic06 풀이
Wargame | CTF/Reversing

CodeEngn Basic06 풀이

후... 이제는 대놓고 언팩문제가 나오네요 도전해봅시다

얼마전에 책을읽었는데 마음에드는 공식? 이 있어서 적어봅니다. 해커는 대부분의 사람들이 말하길 노력보다는 재능이다.. 노력으로 할수없는부분이 있다고 말을하는데 재능은 그다지 중요하지 않다고 합니다. 

재능 x 노력 = 기술    기술 x 노력 = 성취

아무리 재능이 있어도 노력하지 않으면 이루어 질 수 없고, 재능이 없어도 노력을하면 무엇이든 이룰수 있다고합니다.

다시 문제로 돌아가보겠습니다. OEP와 시리얼넘버를 찾으라네요.

동적 분석을 위해 프로그램을 실행시켜보겠습니다. 

매우 단순한 프로그램입니다. 시리얼을 입력하고, 시리얼이 틀리면 Wrong serial 이라는 메세지박스를 띄우는 프로그램입니다.. 아마 내부에는 복잡하게 언팩되어있겠죠 PEID로 파일을 한번보겠습니다. 

UPX 패킹이네요 다행히 전 문제랑 동일한 방법의 패킹입니다. 

UPX1 두번째 섹션에 압축되어있는 데이터를 첫번째 섹선에 압축이 풀리는 방식이겠거니 하고 예측해봅니다. 올리디버거로 가볼까요

역시 PUSHAD로 시작해서 POPAD로 끝이나고 OEP로 점프하는 UPX 패킹 방식입니다.

하드웨어BP를 걸고 OEP로 가보겠습니다.

POPAD 가 있고 밑에 OEP로 점프하는 코드가 있습니다.

64비트환경에서 실습을 하다보니 잘안되는것 같네요 올리디버거 2.01 버전으로 바꿔서 해보았더니 버전이 높아서그런지 언패킹이 자동으로 됩니다..

MsgBox 함수를 찾았습니다. 시리얼도 찾았네요


하는 방법은 다 알았으니 패스 ! 풀이완료





'Wargame | CTF > Reversing' 카테고리의 다른 글

CodeEngn Basic08 풀이  (0) 2017.08.30
CodeEngn Basic07 풀이  (0) 2017.08.30
CodeEngn Basic05 풀이  (0) 2017.08.16
CodeEngn Basic04 풀이  (0) 2017.08.11
CodeEngn Basic03 풀이  (0) 2017.08.09