hex editor

    CodeEngn Basic 20

    파일 안에 있어야 할 데이터의 HEX값을 찾아야하는 문제입니다. 아래는 파일을 그냥 실행한 경우입니다. 아무것도 없는 파일이 실행됩니다. 파일을 올리디버거를 이용해 여시면 CreateFile 함수를 통해 파일에 접근하는 핸들을 리턴한 후 ReadFile을 통해 파일의 데이터를 불러는 것을 확인할 수 있습니다. ReadFile 부분을 자세히 보시면 HEX로 12 즉 DEC로 18byte를 읽어오도록 설정하고 있습니다. 파일 호출이 끝난 다음에도 제대로 읽어왔는지 확인하고 있습니다. 분석을 위해 파일 안에 임의의 값으로 18byte를 채워넣고 실행해보겠습니다. (크랙된 창에서 CodeEngn! 이 나타나는 걸로 봐서 파일을 통해 입력받는 듯합니다. 그래서 CodeEngn!이 포함된 문자열로 문제를 풀어보겠습..

    CodeEngn Basic 12

    Key값을 구한 후, 성공메시지 부분을 HexEditor로 수정하는 문제입니다. 먼저 올리디버거를 이욯하여 Key값을 알아보겠습니다. 보통, 성공 메시지를 찾아서 분기점을 찾는 식으로 풀었는데 바로 보이네요…;; 그래도 찾는 방법을 알려드리겠습니다. 코드창 -> 마우스 우클릭 -> Search for -> All referenced text strings 를 클릭하시면 아래와 같이 문자열을 찾을 수 있습니다. 성공했을 경우의 문자열에서 흐름을 거꾸로 거슬러 올라가면 조건분기의 조건이 EAX의 값이 7A2896BF이면 성공임을 알수 있습니다. 계속 거슬러 올라가면 어떠한 처리를 하는 것을 알 수 있으며, GetDlgItemInt 라는 함수를 불러오는 것을 볼 수 있습니다. 이 함수는 대화상자 컨트롤의 텍스..

    CodeEngn Basic 02

    다음은 실행했을 때 뜨는 창이다. 손상되어서 그런지 오류가 나타난다. Ollydbg로 열어봐도 오류가 나므로 Hex Editor(HxD) 혹은 PE구조를 볼 수 있는 PEview를 이용해 열어보자. 아래는 PEview로 본 모습이다 PE 파일의 헤더가 모두 사라진 것을 볼 수 있다. PE 구조를 공부하여 일일이 복구하는 방법도 있지만. 현재의 나는 무리가 있는 방법이므로, 위의 HEX 값들 중에서 답을 추측해야겠다. 답을 찾기란 어렵지 않다 그냥 봐도 아 저거겠구나 싶은 문자열이 있으니 인증하면 된다.

글을 읽어주셔서 감사합니다.

이 블로그는 Google 광고 수익으로 콘텐츠를 만들고 있습니다.