Created the Monday 18 March 2019. Updated 3 years, 10 months ago.
This is typical timing function which is used to measure time needed to execute some function/instruction set. If the difference is more than fixed threshold, the process exits.
GetTickCount reads from the
KUSER_SHARED_DATA page. This page is mapped read-only into the user mode range of the virtual address and read-write in the kernel range. The system clock tick updates the system time, which is stored directly in this page.
ZwGetTickCount is used the same way as
KiGetTickCount is faster than calling
ZwGetTickCount, but slightly slower than reading from the
KUSER_SHARED_DATA page directly.
The resources provided below are associated links that will give you even more detailed information and research on current evasion technique. It is important to note that, while these resources may be helpful, it is important to exercise caution when following external links. As always, be careful when clicking on links from unknown sources, as they may lead to malicious content.