codeengn) basic 19
Reversing/CodeEngn
2014. 12. 7. 12:10
프로그램이 몇 밀리세컨드후에 종료 되는지 알아내는 문제 입니다.
timegettime함수는 sleep함수 호출시 몇 밀리세컨드를 중지할것인지 리턴하는 함수 입니다.
이 리턴값을 알아내면 됨니다.
패킹은 어떻게되었는지 알순 없군요
시스템 콜을 찾아서 보니 여러 timegettime함수가 호출됨니다.
모두bp를 걸고 run해줍시다.
일단 리턴값이니 call을 따라 들어갈 필요는 없습니다.
리턴값은 eax에 보통 저장됨니다.
eax를 사용하는 레지스터가 없으니 천천히 디버깅 해봅시다.
jnb를 따라가면 다음과 같이 나옴니다.
여기서 내려가면 분기점이 있습니다.
2b70이 값입니다.
16진수 이니 10수로 변환 후 인증 해야 합니다.
'Reversing > CodeEngn' 카테고리의 다른 글
codeengn) advance 02 (0) | 2014.12.07 |
---|---|
codeengn) advance 01 (0) | 2014.12.07 |
codeengn) advance 05 (0) | 2014.11.30 |
codeengn) advance 4 (0) | 2014.11.30 |
codeengn) advance 3 (0) | 2014.11.30 |