紫水晶编程技术论坛 - 努力打造成全国最好的编程论坛

 找回密码
 加入我们

QQ登录

只需一步,快速开始

搜索
查看: 3351|回复: 3

[求助] 版主,这个形参与实参是什么关系?

[复制链接]

90

主题

564

帖子

2

精华

初来乍到

Rank: 1

积分
3262
发表于 2011-3-26 17:26:45 | 显示全部楼层 |阅读模式
这个函数调用:

stats = MyEnumKernelModule("\\??\\c:\\windows\\system32\\123.sys",&ModuleAddress,&ModuleSize);

实参是:\\??\\c:\\windows\\system32\\123.sys

我主要关心这个实参

但是在被调用函数里,这个参数好像没啥用,下面是被调用的函数:



NTSTATUS MyEnumKernelModule(IN CHAR* str,OUT ULONG *moduleadd,OUT ULONG *modulesie)
{
  NTSTATUS status = STATUS_SUCCESS;
  ULONG   n       = 0;
  ULONG   i       = 0;
  PSYSTEM_MODULE_INFORMATION_ENTRY   module = NULL;
  PVOID   pbuftmp = NULL;
  ANSI_STRING    ModuleName1,ModuleName2;
  

  //利用11号功能枚举内核模块
  status = ZwQuerySystemInformation(11, &n, 0, &n);

  //申请内存
  pbuftmp = ExAllocatePool(NonPagedPool, n);

  //再次执行,将枚举结果放到指定的内存区域
  status = ZwQuerySystemInformation(11, pbuftmp, n, NULL);

  module = (PSYSTEM_MODULE_INFORMATION_ENTRY)((PULONG )pbuftmp + 1 );

  //初始化字符串
  RtlInitAnsiString(&ModuleName1,str);
  //
  n       = *((PULONG)pbuftmp );
  for ( i = 0; i < n; i++ )
  {
    RtlInitAnsiString(&ModuleName2,&module[i].ImageName);
    //DbgPrint("%d\t0x%08X 0x%08X %s\n",module[i].LoadOrderIndex,module[i].Base,module[i].Size,module[i].ImageName);

    if (RtlCompareString(&ModuleName1,&ModuleName2,TRUE) == 0)
    {
      DbgPrint("MyEnumKernelModule:%s:%0X \n",ModuleName2.Buffer,module[i].Base);
      *moduleadd  = module[i].Base;
      *modulesie  = module[i].Size;
      tlgstst = TRUE;
      break;
    }
  }
  ExFreePool(pbuftmp);
  
  return status;
}

90

主题

564

帖子

2

精华

初来乍到

Rank: 1

积分
3262
 楼主| 发表于 2011-3-26 17:28:42 | 显示全部楼层
\\??\\c:\\windows\\system32\\123.sys和那个str是不是同一个东西?

为什么传进来后,就没用了呢?
下面函数体根本没有对它操作?

271

主题

3280

帖子

1

精华

管理员

嗷嗷叫的老马

Rank: 125Rank: 125Rank: 125Rank: 125Rank: 125

积分
17038

论坛牛人贡献奖关注奖最佳版主进步奖人气王疯狂作品奖精英奖赞助论坛勋章乐于助人勋章

QQ
发表于 2011-3-27 18:31:10 | 显示全部楼层
RtlInitAnsiString(&ModuleName1,str);
//
这一句就已经把str的内容填充到了ModuleName1中了.

我是搜索了一下RtlInitAnsiString的作用...:D
我就是嗷嗷叫的老马了......

271

主题

3280

帖子

1

精华

管理员

嗷嗷叫的老马

Rank: 125Rank: 125Rank: 125Rank: 125Rank: 125

积分
17038

论坛牛人贡献奖关注奖最佳版主进步奖人气王疯狂作品奖精英奖赞助论坛勋章乐于助人勋章

QQ
发表于 2011-3-27 18:31:46 | 显示全部楼层
我就是嗷嗷叫的老马了......

您需要登录后才可以回帖 登录 | 加入我们

本版积分规则

手机版|Archiver|紫水晶工作室 ( 粤ICP备05020336号 )

GMT+8, 2020-8-15 09:16 , Processed in 0.035484 second(s), 21 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表