首页
社区
课程
招聘
[求助]一个小问题
2015-12-22 17:21 4265

[求助]一个小问题

2015-12-22 17:21
4265
格式是C

#include"ntddk.h"

typedef struct _ServiceDescriptorTable {
        unsigned int* ServiceTableBase; //System Service Dispatch Table 的基地址  
        unsigned int* ServiceCounterTable; //包含着 SSDT 中每个服务被调用次数的计数器。这个计数器一般由sysenter 更新。
        unsigned int NumberOfServices;//由 ServiceTableBase 描述的服务的数目。  
        unsigned char* ParamTableBase; //包含每个系统服务参数字节数表的基地址-系统服务参数表
}PServiceDescriptorTable;
#pragma pack()
__declspec(dllimport) PServiceDescriptorTable KeServiceDescriptorTable;
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////这是导出的SSDT表,= =跳过
/////////////////////////////////////////////
ULONG GETSSDTADD(ULONG uIndex)
  {
          ULONG addr = (ULONG)(KeServiceDescriptorTable.ServiceTableBase)+ uIndex *sizeof(ULONG);
          return addr;

  }
这是一个函数,
////////////////
NTSTATUS DriverEntry(PDRIVER_OBJECT pDriverObj, PUNICODE_STRING RegistryPatch)
{
       
       
        DbgPrint("DriverloadSuccess");

        ULONG addr=GETSSDTADD(0x42);
        if(addr)
        {
       
                DbgPrint("NtCreateFile:0x%08x",addr);
        }

        pDriverObj->DriverUnload=MyDriverUnload;
        return STATUS_SUCCESS;
}
///////////////////////////////////
New.c(37): error C2275: “ULONG”: 将此类型用作表达式非法
1>          C:\Program Files (x86)\Windows Kits\8.0\Include\shared\ntdef.h(577) : 参见“ULONG”的声明
1>New.c(37): error C2146: 语法错误: 缺少“;”(在标识符“addr”的前面)
1>New.c(37): error C2065: “addr”: 未声明的标识符
1>New.c(38): error C2065: “addr”: 未声明的标识符
1>New.c(41): error C2065: “addr”: 未声明的标识符
2>------ 已启动生成: 项目: New Package, 配置: Vista Debug Win32 ------
2>C:\Program Files (x86)\Windows Kits\8.0\build\WindowsDriver8.0.common.targets(1347,5): error MSB3030: 无法复制文件“F:\New\VistaDebug\New.sys”,原因是找不到该文件。
========== 生成: 成功 0 个,失败 2 个,最新 0 个,跳过 0 个 ==========
这是错误,有空的大哥帮忙看看咯

[培训]《安卓高级研修班(网课)》月薪三万计划,掌 握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法

收藏
点赞0
打赏
分享
最新回复 (2)
雪    币: 261
活跃值: (51)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
yuchengton 2015-12-22 23:56
2
0
c语言的变量声明必须在函数最开始……
雪    币: 182
活跃值: (586)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
柒雪天尚 2015-12-23 22:30
3
0
谢谢,已经解决了,
游客
登录 | 注册 方可回帖
返回