本文为看雪论坛优秀文章
看雪论坛作者ID:慢热型
网上资料1:
大于3抛异常
等于3用rdtsc
////等于2用off_140C00A30 这里是140C01e00
等于1用KeQueryPerformanceCounter
等于0用RtlGetSystemTimePrecise
放大看:
他是一个在data上,指向HalpTimerQueryHostPerformanceCounter的指针。
w 写入交叉引用,指出了修改变量内容的程序位置。
lea rax lpTimerQueryHostPerformanceCounter
mov qword ptr cs:off_140c01e00,rax
((ULONG64)PtrOff140c01e00) = (ULONG64)HookHalpTimerQueryHostPerformanceCounter;
reinterpret_cast<uintptr_t>((uintptr_t)CkclWmiLoggerContext + OFFSET_WMI_LOGGER_CONTEXT_CPU_CYCLE_CLOCK) = 2;
lea rax lpTimerQueryHostPerformanceCounter
mov qword ptr cs:off_140c01e00,hk函数
((ULONG64)hk函数) = (ULONG64)HalpTimerQueryHostPerformanceCounter;
资料二:
微软在栈上初始化了一个数组,然后依次给这个数组赋值,根据赋值的信息,我们可以逆向推导出函数名字:
HalpTimerInitSystem 140c61f80
第三个箭头在48的数组上没有截图到(就是追的数据其中之一)。
划重点:
微软在栈上初始化了一个数组,然后依次给这个数组赋值,根据赋值的信息,我们可以逆向推导出函数名字。
替换这个表地址
mov cs:HvlpReferenceTscPage,函数地址
看雪ID:慢热型
https://bbs.pediy.com/user-home-837575.htm
# 往期推荐
球分享
球点赞
球在看
点击“阅读原文”,了解更多!
原文始发于微信公众号(看雪学苑):InfinityHook 实践纪录武侠版
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论