|

楼主 |
发表于 2018-4-7 22:44:58
|
显示全部楼层
看到你经过实际操作了,给你说下x86的情况。
为什么你的位置会是4074FA?
你确定搜索到pSetupValidateDriverPackage
你的结果根本没有加载到微软的符号信息,都看不到函数名。。。
你确定你把drvinst.pdb剪切到windisam目录了么?
drvinst_x86.exe
- 0040D77A: FF 15 DC 11 42 00 call dword ptr [__imp__pSetupValidateDriverPackage@44]
- 0040D780: 8B D8 mov ebx,eax
- 0040D782: 85 DB test ebx,ebx
- 0040D784: 75 0A jne 0040D790
- 0040D786: 8B 4D 10 mov ecx,dword ptr [ebp+10h]
- 0040D789: 8B 07 mov eax,dword ptr [edi]
- 0040D78B: 89 41 08 mov dword ptr [ecx+8],eax
- 0040D78E: EB 2B jmp 0040D7BB
- 0040D790: 53 push ebx
复制代码
8B D8 85 DB 75 08 6A 08
(本人的推测, 尚待验证)改成:
33 DB 8B D8 90 90 6A 08
为什么33 DB?
.text:0040D77A call ds:__imp__pSetupValidateDriverPackage@44 ; pSetupValidateDriverPackage(x,x,x,x,x,x,x,x,x,x,x)
.text:0040D780 xor ebx, ebx <= ebx异或清0
.text:0040D782 mov ebx, eax <= 把SetupValidateDriverPackage函数的返回值eax又赋值给ebx,清0有何意义?还是返回(签名失败1,可能上层没有判断这个值,所以有90 90就可以吧)
ebx = 0
ebx = eax => ebx = 1
和x64一样,
xor eax,eax
mov ebx,eax
前2个字节还是33 C0。
|
评分
-
查看全部评分
|