-
-
[求助]驱动的输入表和其他的不一样?
-
发表于: 2010-7-6 22:34 3370
-
部分代码
mov eax,[edi].OriginalFirstThunk
add eax,@hMod
mov ebx,eax
mov @iNum,0
.while dword ptr [ebx]
mov eax,dword ptr [ebx]
add eax,@hMod
assume eax:ptr IMAGE_IMPORT_BY_NAME
lea eax,[eax].Name1
push eax
invoke DbgPrint, $CTA0("Driver: IMAGE_IMPORT_BY_NAME.Name1: %s\n"), eax
pop eax
assume eax:nothing
add @iNum,4
add ebx,4
.endw
@hMod=基址
mov eax,dword ptr [ebx] ;应为IMAGE_IMPORT_BY_NAME结构偏移
add eax,@hMod 加上基址得到IMAGE_IMPORT_BY_NAME结构指针
我用PsSetLoadImageNotifyRoutine设置了个回调函数,监视模块的加载的时候 一般是这样的没错,但是驱动加载的时候 mov eax,dword ptr [ebx] 这个就不是偏移了而直接是个指针也不需要加基址,为什么啊?
也就没办法用.if dword ptr [ebx] & IMAGE_ORDINAL_FLAG32 来判断是否是按序号导入的了
mov eax,[edi].OriginalFirstThunk
add eax,@hMod
mov ebx,eax
mov @iNum,0
.while dword ptr [ebx]
mov eax,dword ptr [ebx]
add eax,@hMod
assume eax:ptr IMAGE_IMPORT_BY_NAME
lea eax,[eax].Name1
push eax
invoke DbgPrint, $CTA0("Driver: IMAGE_IMPORT_BY_NAME.Name1: %s\n"), eax
pop eax
assume eax:nothing
add @iNum,4
add ebx,4
.endw
@hMod=基址
mov eax,dword ptr [ebx] ;应为IMAGE_IMPORT_BY_NAME结构偏移
add eax,@hMod 加上基址得到IMAGE_IMPORT_BY_NAME结构指针
我用PsSetLoadImageNotifyRoutine设置了个回调函数,监视模块的加载的时候 一般是这样的没错,但是驱动加载的时候 mov eax,dword ptr [ebx] 这个就不是偏移了而直接是个指针也不需要加基址,为什么啊?
也就没办法用.if dword ptr [ebx] & IMAGE_ORDINAL_FLAG32 来判断是否是按序号导入的了
赞赏
他的文章
- [求助]ImmInstallIME问题 5473
- [求助]字符串查找问题 4307
- [求助]驱动的输入表和其他的不一样? 3371
- [求助]为什么这样在R0下获取某模块的函数会出错,R3测试则没问题? 6194
- [求助]dll 创建窗口问题 4321
看原图
赞赏
雪币:
留言: