Basic 19번 문제입니다.

파일을 실행시켜본 화면입니다.

형식을보니 패킹이 되어있는것 같습니다.

디버거로 열어보았습니다. PUSHAD로 시작하는군요.

POPAD를 찾아 점프문을통해 점프 해보았습니다.

본 코드가 나왔습니다.

하다보니 안티디버깅 함수 IsDebuggerPresent함수가 나왔습니다.

손쉽게 처리해주시고 넘어갑니다.

문제를 풀다가 발견한 함수가 있는데 sleep함수와 이 timegettime함수였습니다. 몇개를 살펴보니 sleep함수와 timegettime함수가 같이있어야 한다해서 후보를 몇개 지워봤습니다. 그래서 찾은 부분이

이부분입니다. timegettime함수로 갔다가 sleep함수로 넘어와서 일정한 time이 지난후에 sleep함수로 가는 방식일거라 생각했습니다. 각각의 아래에 CALL EDI 도 눈에 띄었습니다.

그렇게 cmp eax,esi를 한 후에 점프를 하여 

다시 cmp명령어가 나옵니다. 아마도 여기의 2B70값의 10진수가 정답일거라 생각했는데 정답이었습니다. 

'Reversing > CodeEngn Basic' 카테고리의 다른 글

CodeEngn Basic 20  (0) 2015.08.09
CodeEngn Basic 18  (0) 2015.08.08
CodeEngn Basic 17  (0) 2015.08.05
CodeEngn Basic 16  (0) 2015.08.05
CodeEngn Basic 15  (0) 2015.07.27

+ Recent posts