如果没有任何支持上下文,-c将被视为0xc并将从
由win32k!impPsIsThreadTermination+0xe4解析的地址中减去
请注意,只有当您有未优化的构建时,0xe4 才会在大多数情况下正确相关。
因为优化后的函数可以并且会被编译器分成块
并且代码流的最不可能的路径将放置在函数之前或之后
假设 win32k!impPsIsThreadTermination 解析为 0x000000007fffff00
那么如果它是一个未优化的构建
win32k!impPsIsThreadTermination+0xe4将解析为 0x000000007ffffffe4
现在将从该地址中减去 0xc,反汇编命令将从该地址反汇编 5 条指令
0:000> ? vect!main
Evaluate expression: 140699673489328 = 00007ff7`320eefb0
0:000> ? vect!main+e4
Evaluate expression: 140699673489556 = 00007ff7`320ef094
0:000> ? vect!main+e4-c
Evaluate expression: 140699673489544 = 00007ff7`320ef088
0:000> u vect!main+e4-c l5 <<<<<<<<<<<<<
00007ff7`320ef088 30488d xor byte ptr [rax-73h],cl <<<< see address
00007ff7`320ef08b 4c2448 and al,48h
00007ff7`320ef08e e81a63ffff call vect!ILT+17320 (00007ff7`320e53ad)
00007ff7`320ef093 eb0a jmp vect!main+0xef (00007ff7`320ef09f)
00007ff7`320ef095 488d4c2430 lea rcx,[rsp+30h]