能力值:
( LV3,RANK:30 )
2 楼
UCHAR *PsGetProcessImageFileName(PEPROCESS EProcess);
能力值:
( LV3,RANK:30 )
3 楼
不用lib,直接声明一下就可以了
能力值:
( LV2,RANK:10 )
4 楼
该 API 在内核中是导出了的,你只需要声明一下就可以直接调用,在 WRK 中,该 API 的声明位于 ps.h 中,
而该 API 的实现在 pshelper.c 中,你要在内核程序中使用此 API ,你只需要做如下声明即可:
NTKERNELAPI
UCHAR *
PsGetProcessImageFileName(
__in PEPROCESS Process
);
能力值:
( LV2,RANK:10 )
5 楼
PsGetProcessImageFileName传入一个进程eprocess结构它得到的进程名最多为(15+'\0')个字符,即不完整的! 跟硬编码从此结构中读取的结果一样。。
能力值:
( LV2,RANK:10 )
6 楼
大神我照你的方法定义,但是还是出错,请问为什么啊。
NTKERNELAPI UCHAR * PsGetProcessImageFileName(__in PEPROCESS Process);
下面是错误提示:
1>1>hook.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) unsigned char * __stdcall PsGetProcessImageFileName(struct _EPROCESS *)" (__imp_?PsGetProcessImageFileName@@YGPAEPAU_EPROCESS@@@Z) referenced in function "long __stdcall FuckSecurityProcedure(void *,enum _SECURITY_OPERATION_CODE,unsigned long *,void *,unsigned long *,void * *,enum _POOL_TYPE,struct _GENERIC_MAPPING *,unsigned long)" (?FuckSecurityProcedure@@YGJPAXW4_SECURITY_OPERATION_CODE@@PAK02PAPAXW4_POOL_TYPE@@PAU_GENERIC_MAPPING@@K@Z)
1>1>c:\ddkfile\hook\hook\hook.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) unsigned char * __stdcall PsGetProcessImageFileName(struct _EPROCESS *)" (__imp_?PsGetProcessImageFileName@@YGPAEPAU_EPROCESS@@@Z) referenced in function "long __stdcall FuckSecurityProcedure(void *,enum _SECURITY_OPERATION_CODE,unsigned long *,void *,unsigned long *,void * *,enum _POOL_TYPE,struct _GENERIC_MAPPING *,unsigned long)" (?FuckSecurityProcedure@@YGJPAXW4_SECURITY_OPERATION_CODE@@PAK02PAPAXW4_POOL_TYPE@@PAU_GENERIC_MAPPING@@K@Z)
1>1>c:\ddkfile\hook\hook\objchk_wxp_x86\i386\Hook.sys : fatal error LNK1120: 1 unresolved externals
1>1>c:\ddkfile\hook\hook\objchk_wxp_x86\i386\hook.sys : error LNK1120: 1 unresolved externals
能力值:
( LV5,RANK:60 )
7 楼
extern "C"
{
这里填导出函数声明
}
能力值:
( LV2,RANK:10 )
8 楼
有很多出错,就是因为忘了这个
能力值:
( LV4,RANK:50 )
9 楼
C语言无压力。。
能力值:
( LV2,RANK:10 )
10 楼
UCHAR *PsGetProcessImageFileName(__in PEPROCESS eprocess);
PsGetProcessImageFileName(Eprocess);
能力值:
( LV2,RANK:10 )
11 楼
这个在NT内核模块里,是输出表里的函数,你直接声明下原型,就可以直接调用了!!