English 中文(简体)
垃圾堆放意味着在顺序指示之间改变登记价值
原标题:Crash dump implies register value changed between sequential instructions

目前,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.

如何做到这一点? 我失踪了吗?

问题回答

在实施<代码>时,该数值可能为0。 在<代码>bts之前,另一条已修改了记忆价值。 您随后在<代码>bts上坠毁,在你看望记忆时,你看到最新价值,而不是原来的数值。

您认为,前面的指示已经执行。 但是,仅仅因为它在集会之前就在集会上,这并不一定意味着在集会之前处决。 简单地跳到屋顶,可能会导致这种不当行为。

造成这种跳跃的原因要么是错误的法典(如果你有手写/假装的组装),要么是 st/bu/拉流,从而改变了 st头上的返回地址,使返回地址变得暗中,而另一些则更模糊不清。





相关问题
Why running a service as Local System is bad on windows?

I am trying to find out the difference between difference service account types. I tumbled upon this question. The answer was because it has powerful access to local resources, and Network Service ...

Programmatically detect Windows cluster configuration?

Does anyone know how to programatically detect that a Windows server is part of a cluster? Further, is it possible to detect that the server is the active or passive node? [Edit] And detect it from ...

get file icon for Outlook appointment (.msg)

I ve read Get File Icon used by Shell and the other similar posts - and already use SHFileInfo to get the associated icon for any given extension, and that works great. However, Outlook uses ".msg" ...

Identifying idle state on a windows machine

I know about the GetLastInputInfo method but that would only give me the duration since last user input - keyboard or mouse. If a user input was last received 10 minutes ago, that wouldn t mean the ...

Terminating a thread gracefully not using TerminateThread()

My application creates a thread and that runs in the background all the time. I can only terminate the thread manually, not from within the thread callback function. At the moment I am using ...

热门标签