Tom_lyd
驱动大牛
驱动大牛
  • 注册日期2001-09-02
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
阅读:6035回复:37

内核中如何得到当前进程的句柄?

楼主#
更多 发布于:2002-06-22 09:22
要得到当时前进程和线程的句柄,如何做?

最新喜欢:

aasa2aasa2 baoyibao99baoyib...
Tom_lyd
wolf_5481
驱动牛犊
驱动牛犊
  • 注册日期2004-11-25
  • 最后登录2006-02-06
  • 粉丝0
  • 关注0
  • 积分6分
  • 威望2点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2005-05-25 14:32
为什么获取用户名的代码我编译不过呢?那些Undocument的函数怎么都Link不到啊?
Tom_lyd
驱动大牛
驱动大牛
  • 注册日期2001-09-02
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2002-06-28 15:23
瞎掺和一句:

filemon中有一 段代码是在内核中得到进程参数的

Filemon从KPEB中查找进程名的。
Tom_lyd
znsoft
管理员
管理员
  • 注册日期2001-03-23
  • 最后登录2023-10-25
  • 粉丝300
  • 关注6
  • 积分910分
  • 威望14796点
  • 贡献值7点
  • 好评度2410点
  • 原创分5分
  • 专家分100分
  • 社区居民
  • 最爱沙发
  • 社区明星
地板#
发布于:2002-06-28 09:54
瞎掺和一句:

filemon中有一 段代码是在内核中得到进程参数的
http://www.zndev.com 免费源码交换网 ----------------------------- 软件创造价值,驱动提供力量! 淡泊以明志,宁静以致远。 ---------------------------------- 勤用搜索,多查资料,先搜再问。
pjf
pjf
驱动中牛
驱动中牛
  • 注册日期2001-07-08
  • 最后登录2006-10-23
  • 粉丝0
  • 关注0
  • 积分42分
  • 威望4点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2002-06-27 19:09
我现在不甚清楚,还是不胡说了,免得你瞎忙活。
希望有兄弟有些经验。  :(
Tom_lyd
驱动大牛
驱动大牛
  • 注册日期2001-09-02
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2002-06-27 17:42
不知道在文件过滤这一层能否实现这样的目标,这个想法是否可行
--------------------------------------------------------------------------------
困难颇大。文件过滤驱动毕竟不仅仅可以过滤,只是要十分清楚远程登录的具体流程。需要花太多时间,现在承受不起。

你觉得突破口应该在哪里?
Tom_lyd
pjf
pjf
驱动中牛
驱动中牛
  • 注册日期2001-07-08
  • 最后登录2006-10-23
  • 粉丝0
  • 关注0
  • 积分42分
  • 威望4点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2002-06-27 17:22
不知道在文件过滤这一层能否实现这样的目标,这个想法是否可行
--------------------------------------------------------------------------------
困难颇大。文件过滤驱动毕竟不仅仅可以过滤,只是要十分清楚远程登录的具体流程。需要花太多时间,现在承受不起。
Tom_lyd
驱动大牛
驱动大牛
  • 注册日期2001-09-02
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2002-06-27 17:16
不管怎么样我还得感谢你,不知道在文件过滤这一层能否实现这样的目标,这个想法是否可行?
Tom_lyd
pjf
pjf
驱动中牛
驱动中牛
  • 注册日期2001-07-08
  • 最后登录2006-10-23
  • 粉丝0
  • 关注0
  • 积分42分
  • 威望4点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2002-06-27 17:15
如何把向PSID这样变长的东东传给上层的应用呢?
-----------------------------------------------------------------------------
你是想在应用层来处理SID吧?SID虽然变长但仍有限,就是传一块buffer给应用,没什么可说的吧。
pjf
pjf
驱动中牛
驱动中牛
  • 注册日期2001-07-08
  • 最后登录2006-10-23
  • 粉丝0
  • 关注0
  • 积分42分
  • 威望4点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2002-06-27 17:07
sorry,没做过这么样的东西,它至少与winlogon/LSA/LPM等紧密集成起来。需要好好crack一下,可是一个月内是完全没时间的(重要的事)。现在我只能讨论一些不用费劲的东西,因为不能花时间。大概7月中旬可以腾出时间来研究研究。
看看有没有兄弟有这方面的经验。
Tom_lyd
驱动大牛
驱动大牛
  • 注册日期2001-09-02
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2002-06-27 16:35
pjf及各位仁兄,小弟碰到大难题了,我在内核得到SID,本想是获得访问当前文件的用户名。如果是本地用户,则解析出本地用户名,如果是LAN内的其他主机,则需要解析出主机名。现在发现根据SID不能解析出LAN内的主机名,只能得到它以什么身份登录本机。这一点我当初欠缺考虑。现在我需要确定远端主机的真实身份,该如何才行?急啊!
Tom_lyd
alberts
驱动牛犊
驱动牛犊
  • 注册日期2001-09-29
  • 最后登录2002-08-12
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
11楼#
发布于:2002-06-27 16:07
如何把向PSID这样变长的东东传给上层的应用呢?
pjf
pjf
驱动中牛
驱动中牛
  • 注册日期2001-07-08
  • 最后登录2006-10-23
  • 粉丝0
  • 关注0
  • 积分42分
  • 威望4点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
12楼#
发布于:2002-06-27 10:07
不过有的线程没有Token对象,ZwOpenThreadToken返回总是失败。
pjf
pjf
驱动中牛
驱动中牛
  • 注册日期2001-07-08
  • 最后登录2006-10-23
  • 粉丝0
  • 关注0
  • 积分42分
  • 威望4点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
13楼#
发布于:2002-06-27 10:05
方法是一样的呀:
status = ObOpenObjectByPointer(PsGetCurrentThread(),
0,
NULL,
THREAD_ALL_ACCESS,
NULL,
KernelMode,
&hThread);//这就是HANDLE
如果不是当前线程,用该线程的PETRHAD取代PsGetCurrentThread。
或自己找到ID后ZwOpenThread
前者好多了。
Tom_lyd
驱动大牛
驱动大牛
  • 注册日期2001-09-02
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
14楼#
发布于:2002-06-27 09:56
pjf兄:
     在这个问题上,如果我要获得线程的句柄,怎么办呢?

NTSYSAPI
NTSTATUS
NTAPI
ZwOpenThreadToken (
    IN HANDLE       ThreadHandle,
    IN ACCESS_MASK  DesiredAccess,
    IN BOOLEAN      OpenAsSelf,
    OUT PHANDLE     TokenHandle
);
Tom_lyd
pjf
pjf
驱动中牛
驱动中牛
  • 注册日期2001-07-08
  • 最后登录2006-10-23
  • 粉丝0
  • 关注0
  • 积分42分
  • 威望4点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
15楼#
发布于:2002-06-27 07:23
search以前的贴子
AllenZh
驱动老牛
驱动老牛
  • 注册日期2001-08-19
  • 最后登录2015-11-27
  • 粉丝19
  • 关注10
  • 积分1316分
  • 威望2387点
  • 贡献值7点
  • 好评度321点
  • 原创分0分
  • 专家分0分
16楼#
发布于:2002-06-26 22:51
EPROCESS/ETHREAD的结构在DDK中没有找到,那位兄弟能告诉吗?
1,承接Windows下驱动/应用开发 2,本人原创虚拟鼠标/键盘,触摸屏,虚拟显卡,Mirror驱动,XP无盘的SCSI虚拟磁盘驱动等 3,windows下有尝技术服务(包括BUG调试,员工培训等) 欢迎深圳和海外企业联系.msn:mfczmh@sina.com
pjf
pjf
驱动中牛
驱动中牛
  • 注册日期2001-07-08
  • 最后登录2006-10-23
  • 粉丝0
  • 关注0
  • 积分42分
  • 威望4点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
17楼#
发布于:2002-06-25 15:17
ntdll.dll导出的ZwQueryInformationToken和NtQueryInformationToken是同一个函数。
而ntoskrnl.exe导出的ZwQueryInformationToken与NtQueryInformationToken则不同。
pjf
pjf
驱动中牛
驱动中牛
  • 注册日期2001-07-08
  • 最后登录2006-10-23
  • 粉丝0
  • 关注0
  • 积分42分
  • 威望4点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
18楼#
发布于:2002-06-25 15:12
是同一个东西吧,都在说ntoskrnl.exe导出的NtQueryInformationToken和ZwQueryInformationToken呀。
我只是用ntdll.dll导出函数类比一下。2000下的ZwQueryInformationToken只是预处理一些东西,再转入NtQueryInformationToken。
zdhe
驱动太牛
驱动太牛
  • 注册日期2001-12-26
  • 最后登录2018-06-02
  • 粉丝0
  • 关注0
  • 积分72362分
  • 威望362260点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
  • 社区居民
19楼#
发布于:2002-06-25 14:59
你们说的不完全是同一个东西。
NtQueryInformationToken在ntdll和ntoskrnl中都export出来的。
在ntdll中是完全相同的实现。在ntoskrnl中不一样。

估计link lib的顺序不同导致大家有的出错,有的没有出错。
上一页
游客

返回顶部