전체 글

전체 글

    CodeEngn Basic15 풀이

    name이 CodeEngn 일때, 시리얼을 구하랍니다. 단순한 문제입니다 내부알고리즘을 분석하면되겠군요. 다행히 패킹되어있지는 않습니다. 시리얼을 임의로 123으로입력해줍니다. Ollydbg로 분석하겠습니다 . All referenced text strings로 보면 패킹이되어있지않아서 그대로다 드러납니다.성공메세지가 있는곳으로 가줍니다. 단순하게 제가 입력한 값이랑 CodeEngn이라는 글자로 만들어낸 시리얼값을 비교해서 같으면 성공메세지를 띄웁니다. EAX에 있는 7B값은 10진수로 제가 입력한 123입니다. CodeEngn에 해당하는 시리얼값은 6160으로 10진수로변환하면 24928입니다. 24928을 입력하니 맞다고 뜨네요 풀이완료!

    CodeEngn Basic14 풀이

    이름이 CodeEngn 일때 시리얼을 구하랍니다. 정답은 여러개가나올수있고 5개의 숫자로된 정답을 찾으라네요. 프로그램을 한번실행해 봅시다.입력받는 박스가 두개가 있네요. 체크버튼을 누르면 시리얼과 비교해서 결과화면을 띄웁니다.쉬운 UPX패킹 방식입니다. 손쉽게 OEP를 찾아줍시다. (문자길이를 구해서 그 길이만큼 반복)1.문자가 저장된곳에 접근 2.해당문자에서 1글자만 따옴3.해당문자 아스키코드값을 제곱한다.4.그값을 ESI에 더한다.5.해당문자 아스키코드값을 오른쪽으로 1칸시프트한다.6.시프트한값을 ESI에 더한다.7.ESI에 다시 해당문자아스키코드값을 더한다.8.EAX값을 증가시키고 ECX값을 감소시킨다. ECX값이 0이될때까지 반복한다. 최종적으로 ESI에 누적된 값을 스택에 푸시한다. 밑칸에 있..

    CodeEngn Basic13 풀이

    코드엔진 Basic 13번 문제입니다. 정답을 찾으라네요. 그냥 제작자의 의도대로 문제를 풀라는것같아요.일단 PEiD로 패킹이 혹시 되어있는가 확인해보겠습니다.C#으로 작성된 프로그램이라는데요 패킹은 없는것같습니다. 혹시 콘솔응용프로그램 일까요..? 실행시켜보겠습니다.예 콘솔응용프로그램이 맞습니다. 사용자로부터 문자열을 입력받고, 저장된 패스워드와 비교를 해서 성공메세지를 띄우는거 같네요. 올리디버거로 가보겠습니다.음.. 올리디버거로 열리긴하는데 그냥 공백화면만 뜨네요.. 왜그럴까요 좀더 고민해보곘습니다. PEView로 파일을 한번살펴보겠습니다.한참헤메다가 인터넷검색찬스... C# 디컴파일러를 이용하라네요 .......... 한시간동안 삽질했네요 디컴파일러를 이용하니 쉽게 디컴파일되어서 세세한 메소드 내..