히공

코드엔진 - advance 1 본문

reverse engineering/CodeEngn

코드엔진 - advance 1

heegong 2021. 1. 4. 12:24
728x90

이러한 문제입니다.

 

 

 

 

 

 

 

패킹 되어있습니다.

 

 

 

 

 

 

 

 

이 곳에 bp를 걸고 f9를 눌러 실행해 줍시다.

 

 

 

 

 

 

 

 

 

원본 코드 입니다.

 

 

 

 

 

 

 

f9를 눌러 실행을 했더니 안티디버깅 기법을 사용했는지 에러 메세지를 출력합니다.

 

 

 

 

 

 

 

 

호출하는 함수를 찾습니다.

 

 

 

 

 

 

 

bp를 걸어줍니다.

 

 

 

 

 

 

f9를 이용해 실행하니 여기서 멈췄습니다.

 

 

 

 

 

 

이 부분을 je로 변경해줍니다.

 

 

 

 

 

그 후 timeGetTime함수에 bp를 걸어줍니다.

 

 

docs.microsoft.com/en-us/windows/win32/api/timeapi/nf-timeapi-timegettime

 

timeGetTime function (timeapi.h) - Win32 apps

The timeGetTime function retrieves the system time, in milliseconds. The system time is the time elapsed since Windows was started.

docs.microsoft.com

 

 

현재 시간을 반환한다고 합니다.

 

 

 

 

 

여기서 멈춥니다.

 

f8을 천천히 눌르면

 

 

 

 

 

이 곳으로 오게 됩니다. timeGetTime의 반환값을 [ebx+4]와 비교합니다.

 

 

 

 

 

 

 

[ebx+4]의 값

[ebx+4]는 0x337B입니다. 10진수로 13179입니다.

 

 

md5 값 : DB59260CCE0B871C7B2BB780EEE305DB

 

 

 

 

 

정답 : DB59260CCE0B871C7B2BB780EEE305DB

'reverse engineering > CodeEngn' 카테고리의 다른 글

코드엔진 - advance 3  (0) 2021.02.05
코드엔진 - advance 2  (0) 2021.02.04
코드엔진 - basic 20  (0) 2020.10.19
코드엔진 - basic 19  (0) 2020.10.18
코드엔진 - basic 18  (0) 2020.10.17
Comments