目前,Im公司正在分析来自一家商业发展公司客户的坠毁情况。 由于保密原因,我无法提供坠毁的垃圾场,但我已到了死端。
坠机发生在DDK内部的<代码>RtlSetB。 页: 1
rax=0000000000000000 rbx=fffff8800282da00 rcx=fffffa8007c10340
rdx=0000000000000000 rsi=0000000000000001 rdi=fffffa8007c102e0
rip=fffff8000168d0b4 rsp=fffff880057478e8 rbp=0000000000000000
r8=0000000000000000 r9=0000000000000000 r10=fffff88001e5dca0
r11=0000000000000000 r12=0000000000000000 r13=fffffa800812feb0
r14=0000000000000001 r15=fffff88003490af0
iopl=0 nv up ei pl zr na po nc
cs=0010 ss=0018 ds=002b es=002b fs=0053 gs=002b efl=00010246
nt!RtlSetBit+0x4:
fffff800`0168d0b4 0fab10 bts dword ptr [rax],edx ds:002b:00000000`00000000=????????
此处为<代码>RtlSetB的组装:
fffff800`0168d0b0 488b4108 mov rax,qword ptr [rcx+8]
fffff800`0168d0b4 0fab10 bts dword ptr [rax],edx << Exception
fffff800`0168d0b7 c3 ret
奇怪的是,正如你可以看到的那样,rax
t 含有<代码>rcx+8的内容:
2: kd> dq rcx+8
fffffa80`07c10348 fffffa80`07c10338 0000000b`00000014
Instead, rax
shows null.
如何做到这一点? 我失踪了吗?