전체 글

전체 글

    CodeEngn Basic09 풀이

    StolenByte를 구하라는 문제입니다. 훔쳐진바이트..?? 모르겠습니다.일단 어떤파일인지 PEiD로 보겠습니다. 일단 UPX로 패킹되어있는걸 알아냈습니다. 동적분석을위해 한번 실행해 보겠습니다. 키파일 체크를위해 ok를 누르랍니다. 눌렀더니 파일이없다고 하네요 ok를 누르게되면 어떤특정파일이 있는지없는지 비교를 하는것같습니다. 올리디버거로 가서 한번보겠습니다. UPX패킹이니 하드웨어브레이크를 걸고 달리겠습니다. OEP를 쉽게 찾아냈습니다.OEP로 가보니.. 코드가 매우 간단합니다. 어셈블리어로 작성된것같습니다. 파일을생성하고, 파일이 없으면 에러문구로 점프, 파일이 생성되있어도 파일사이즈를 구한뒤 18바이트이어야 성공메세지로 점프하는군요.왜 CreateFile함수가 실행되는데도 파일이 안만들어질까 해..

    CodeEngn Basic08 풀이

    Basic08 풀이입니다. OEP를 구하라는군요. 패킹이 되어있나봅니다... 아오파일을 받아보니 파일은 그냥 단순한계산기 입니다. 역시나.. UPX 패킹이 되어있습니다. 올리디버거로 가보겠습니다.OEP를 찾는문제이므로 간단하게 풀었습니다.. 하드웨어브레이크를 걸고 POPAD까지 이동..JMP 문까지 이동 풀이완료..!? OEP를 찾았습니다. 먼가 찝찝하네요 이동해보니 PE헤더 코드부분이 있었습니다 맞는것같네요.

    CodeEngn Basic07 풀이

    Basic07 번째 문제입니다. C드라이브의 이름으로 시리얼을 생성하는 프로그램인것같습니다. 실행시켜보겠습니다.시리얼을 입력받고 체크하는 단순한 프로그램입니다. 일단패킹 여부를 확인해보겠습니다. 음 패킹은 되어있지않은것같네요.올리디버거로 가보겠습니다.어셈블리어로 작성이 되었는지 코드가 매우 간결합니다. 4562-ABEX 에서 4567 한자리각각 1씩 더하는작업을 두번해준뒤 L2C-5781 뒤에 덧붙여준것이 시리얼이군요.시리얼은 쉽게 풀었고 코드엔진의 문제를 해결해 보겠습니다.GetVolumeInformation 함수안을 살펴볼까요 일단 인수는 8개나 받는 함수입니다. 성공하면 0이아닌값을 반환하고 실패하면 0을 반환합니다.드라이브 이름에 관한 질문이므로 GetVolumeInformation의 2번째 인수..