zj3t

email: euntaejang@gmail.com

Latest Posts

CodeEngn-RCE basic19

By 오후 8:02 ,

timegettime함수는 sleep함수호출시 몇 밀리세컨드를 중지할것인지 리턴하는 함수 입니다.




1. 첫번째 timeGetTime함수를 호출합니다. (여기서 EAX에는 현재 시간이, 정확히 말하면 윈도우가 시작된 후

     현재까지의 지난 시간이 담겨있습니다.)

2. EAX의 값을 ESI에다가도 저장한다. (즉, ESI에도 현재 시간이 담겨있습니다.)

3. timeGetTime함수를 다시 재호출 합니다. (EAX에 다시 현재의 시간이 반환됩니다.)

4. EAX에서 ESI를 뺀다.(즉, 두번째 호출한 timeGetTime의 반환값에서 처음 시간을 빼므로 결국에는
     EAX에 흐른 시간(두 함수간의 시간 간격)이 남게 됩니다.)

5. EAX를 EBX+4의 주소값의 DWORD, 즉 4바이트 만큼의 값과 비교를 합니다.(이는 흐른 시간을 처음부터 정     해져 있는 비교될 시간, 즉 실제 메시지 박스가 꺼질때 까지의 시간과 비교를 하는 것이지요. 그리고 여기서는       비교될 시간이 EBX+4의 주소값에 있는 것이구요.)

6. 그리고 EAX가 더 작다면 다시 두번째 timeGetTime함수가 호출되는 위치로 분기하게 되고, 그렇지 않다면
     밑으로 계속 진행이 되어 메시지 박스가 종료되는거지요.









You Might Also Like

0 개의 댓글