看流星社区

 找回密码
 注册账号
查看: 2876|回复: 4

关于过TP的Debugport的问题

[复制链接]

该用户从未签到

发表于 2011-8-6 08:48:22 | 显示全部楼层 |阅读模式
最近好多朋友研究TP,但编译出的结果令人不满意。。。本人愚钝,在文章这里的函数得到的结果错误,原文作者用了自定义函数如下:
//////////////////////////////////////////////////////////////////////
//  名称:  MyEnumKernelModule
//  功能:  枚举内核模块
//  参数:  str:内核模块名称
//      moduleadd:该模块地址[传出]
//      modulesie:该模块大小[传出]
//  返回:  
//////////////////////////////////////////////////////////////////////
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;
  BOOLEAN  tlgstst= FALSE;  //如果找到了指定模块则设置为TRUE

  //利用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.ImageName);
    //DbgPrint("%d\t0x%08X 0x%08X %s\n",module.LoadOrderIndex,module.Base,module.Size,module.ImageName);

    if (RtlCompareString(&ModuleName1,&ModuleName2,TRUE) == 0)
    {
      DbgPrint("MyEnumKernelModule:%s:%0X \n",ModuleName2.Buffer,module.Base);
      *moduleadd  = module.Base;
      *modulesie  = module.Size;
      tlgstst = TRUE;
      break;
    }
  }
  ExFreePool(pbuftmp);
  if tlgstst == FALSE)
  {
    return  FAILED_TO_OBTAIN_FUNCTION_ADDRESSES;
  }
  return status;
}
但返回结果有错误。。。有可能是系统函数 ZwQuerySystemInformation被HOOK了吧。。。。为此,我只能用其他方法了。。
得到驱动的信息方法很多。。。我用的是遍历链表的方法,只要TP不断链表就一直有用。。。但在找很多文章里得到的结果依然错误。。。。。我就自己修改了部分。。终于OK了。。。至于特征码部分我并没有试验。。。我最不喜欢DNF的幼稚游戏。。。。也就没有TP,以下是新的 枚举内核模块 函数代码(遍历双向链表,学过c语言的人都会):
游客,如果您要查看本帖隐藏内容请回复

。。。。。。。。。。。。。。。。。。。。。。
本文参照了其他的一些代码。。如有误。。清大家指正。。。。

该用户从未签到

发表于 2011-10-31 10:10:10 | 显示全部楼层
支持看流星社区

该用户从未签到

发表于 2011-11-1 02:53:11 | 显示全部楼层
回复 1# 不白不白


    嗯,这个还像

该用户从未签到

发表于 2011-11-19 20:40:11 | 显示全部楼层
感谢楼主的无私奉献
点击按钮快速添加回复内容: 支持 高兴 激动 给力 加油 苦寻 生气 回帖 路过 感恩
您需要登录后才可以回帖 登录 | 注册账号

本版积分规则

小黑屋|手机版|Archiver|看流星社区 |网站地图

GMT+8, 2024-4-25 17:20

Powered by Kanliuxing X3.4

© 2010-2019 kanliuxing.com

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