본문 바로가기

WARGAME/codeengn

코드엔진 베이직 19

Author : CodeEngn


KO : 이 프로그램은 몇 밀리세컨드 후에 종료 되는가 ?


IsDebuggerPresent() API로 안티 디버깅 되어 있다. 

직접 API 안에 들어가서 MOV EAX,0으로 바꿔서 우회하려고 했더니 프로그램 저장을 누르면 dll을 덮어쓰기 하길래 

그냥 소스단에서 IsDebuggerPresent() 이후에 JNZ를 JZ로 바꿧다.


이후에 Sleep 함수를 위주로 보다보면 TimeGetTime(), Sleep() 함수가 계속 실행되는 것을 볼 수 있다.


00444D3A 주소에 보면 DWORD[EBX+4]값과 EAX를 비교하는 부분이 나오는데, 


DWORD[EBX+4]에는 종료 시간이 적혀 있고, EAX에는 프로그램 시작 시간으로부터 얼만큼 지났는지에 대한 값이 들어간다.


답 : 11120ms

'WARGAME > codeengn' 카테고리의 다른 글

Advance 1  (0) 2015.01.04
코드엔진 베이직 20  (0) 2014.12.25
코드엔진 베이직 18  (0) 2014.12.25
코드엔진 베이직 17  (0) 2014.12.14
코드엔진 베이직 16  (0) 2014.12.14