Unklare Rückgabe der Funktion + Ablaufdatum

Hallo liebe Gemeinde :-)

ich habe hier eine kurze Routine, da drin ist ein Ablaufdatum.
Es könnte sein, dass diese Funktion trotzdem einen wichtigen Zeitrückgabewert hat, weswegen ich sie nicht komplett rauspatchen kann.

schafft es vielleicht zufällig jemand, rauszubekommen, welcher Rückgabewert mit der aktuellen Zeit da zum Schluss in eax steht?
kann jemand aus diesen Berechnungen das Ablaufdatum rausbekommen?


es ist eine DLL, ich habe sie nicht zum debuggen bekommen, die Breakpoints funktionieren nicht..
jedenfalls gehts um eine Zeit die von msvcrt.dll kommt ...
Code:
 SUB_L60881688:
          push    ebp
          mov    ebp,esp
          sub    esp,00000018h
          mov    dword ptr [esp],00000000h
          call    jmp_msvcrt.dll!time
          mov    [ebp-04h],eax
          mov    ecx,[ebp-04h]
          mov    eax,C22E4507h
          imul    ecx
          lea    eax,[edx+ecx]
          mov    edx,eax
          sar    edx,10h
          mov    eax,ecx
          sar    eax,1Fh
          sub    edx,eax
          mov    eax,00003A41h
          sub    eax,edx
          mov    [ebp-08h],eax
          cmp    dword ptr [ebp-08h],00000000h
          jle    L608816CE
          mov    eax,[ebp-08h]
          mov    [ebp-0Ch],eax
          jmp    L608816D5
 L608816CE:
          mov    dword ptr [ebp-0Ch],00000000h
 L608816D5:
          mov    eax,[ebp-0Ch]
          leave
          retn
 
Zuletzt bearbeitet:
das ist deine timefunktion: http://msdn.microsoft.com/en-us/library/1f4c8f33.
du kriegst in eax:edx 64 bit zurück, die dir die sekunden seit 1970 sagen.

damit wird dann nen bisschen gerechnet (habs nicht nachgerechnet, aber da werden wohl die unteren 16 bits vernichtet)
anschließend wird ne konstante subtrahiert. das ergebnis wird dann auf 0 geclipt, falls es kleiner 0 ist. danach wir der wert in eax returnt.

keine ahnung, was passieren würde, wenn man die konstante so weit erhöht, dass der wert immer größer als die umgerechnete zeit ist. kommt wohl auf nen versuch an.
 
Zurück
Oben