首页
社区
课程
招聘
[求助]WaitForSingleObject逆向求助
发表于: 2022-4-1 21:45 5407

[求助]WaitForSingleObject逆向求助

2022-4-1 21:45
5407

背景:我想做一个模拟WaitForSingleObject + 逆向Windows Xp SP3

视频问题复现:

点我看问题复现

以下是文字复现地址:

*问题一:WaitForSingleObject有一个参数是TimeOut(超时),会在内核中准备一个Timer插入到全局定时器链表,然后顺着这条路,我去找了下,什么时候去访问这个全局定时器链表,原来是每次时钟中断的时候,这么去拿到定时器
KeTickCount++;
KTIMER
Timer1 = KiTimerTableListHead[(KeTickCount & 0xFF) 8];
KTIMER
Timer2 = KiTimerTableListHead[((KeTickCount - 1) & 0xFF) * 8];

 

于是乎,我就在windbg下了两个条件断点
bp /w "@eax == 0x6a" nt!KeUpdateSystemTime+0x95
bp /w "@eax == 0x6a" nt!KeUpdateSystemTime+0x95+0x20
(注:0x6a是由WaitForSingleObject插入到KiTimerTableListHead链表的下标
,由KiComputeTimerTableIndex计算出来的)

 

然后我本想着它最终会插入Dpc链表(KiTimerExpireDpc)到当前处理器DpcQueue中,结果KiTimerExpireDpc这个Dpc的Lock一直是被占用的,导致插入不了Dpc并且请求不了软中断

 

问题二:
0FFFE0080h,这个是TPR所存的值,为什么一直显示0xFF

 

请各位大佬帮帮忙!!!!**


[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回
//