首页
社区
课程
招聘
[求助]驱动的输入表和其他的不一样?
发表于: 2010-7-6 22:34 3370

[求助]驱动的输入表和其他的不一样?

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 来判断是否是按序号导入的了

[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

收藏
免费 0
支持
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回
//