리틀앤디안

    CodeEngn Basic 15

    한 번 실행해서 임의의 Serial을 입력해보겠습니다. 어떤 프로그램인지 확인했으므로 이제 올리디버거를 이용해 풀어 보겠습니다. 언제나 그렇듯 문자열 검색을 해보겠습니다. 코드창 -> 마우스 우클릭 -> Search for -> All referenced text strings를 클릭합니다. 다행히 이번에는 바로 문자열이 검색되는 군요. 해당 위치로 이동하여 문제를 계속 풀어가겠습니다. 이동한 위치 바로 위에 분기점과 비교문을 볼 수 있습니다. 저 위치까지 실행한 후 비교문에 있는 주소를 덤프창에서 찾아가보겠습니다. EAX의 값은 0x3039 이고 비교하는 주소에 저장된 값은 0x6061 입니다. 어떤 값인지 계산기를 통해 알아보면 EAX는 입력한 값인 12345 이며, 45B844에 저장된 값은 246..

    CodeEngn Basic 14

    Name에 따라 Serial 이 바뀌는 문제입니다. 우선 간단한 정보를 얻기 위해 PEiD를 이용하겠습니다. UPX로 패킹된 것을 볼 수 있습니다. Ollydbg를 통해 언팩을 하겠습니다. UPX 언팩은 언제나 간단합니다. 우선 코드를 조금 내려 POPAD아래의 JMP를 찾습니다.(OEP) 해당 부분에 브레이크 포인트를 걸고 실행시켜 OEP로 넘어가기 전에서 멈춘 후 OEP로 이동합니다. Plugins -> OllyDump(플러그인입니다. 없으면 받으셔야 해요) -> Dump debugged process 를 차례대로 클릭합니다. 아래 Rebuild Import 에 체크를 해제하신 후 Dump를 클릭하면 됩니다. 완벽하게 복구가 되지 않았기 때문에 실행하면 오류가 발생합니다. LordPE 툴을 이용하여 ..

    CodeEngn Basic 06

    PEiD 툴로 확인해 보면 UPX로 확인된 것을 볼 수 있습니다.(UPX 언팩은 Basic 05-1 글을 참고) 잘못된 시리얼을 입력했을 시 Wrong serial!! 메시지가 나타나는 것을 확인할 수 있습니다. 이번에는 Ollydbg의 Back to user 모드를 이용하여 문제를 풀겠습니다. Back to user 모드란 프로그램이 멈춘 상태에서 지금 사용하고 있는 이벤트가 있는 코드로 이동하는 모드입니다. 이 모드를 사용할 때는 프로그램이 멈춰 있어야 합니다. 먼저, Ollydbg에서 프로그램을 실행(F9)시킨 후 임의의 문자열을 입력하여 메시지 창을 띄웁니다. 이 상태에서 Ollydbg를 활성 시킨 후 일시정지(F12) 시킨 후 AlT + F9를 눌러 오른쪽 아래를 Back To User로 바꾼 ..

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

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