fracker
驱动太牛
驱动太牛
  • 注册日期2001-06-28
  • 最后登录2021-03-30
  • 粉丝0
  • 关注0
  • 积分219分
  • 威望81点
  • 贡献值0点
  • 好评度23点
  • 原创分0分
  • 专家分1分
  • 社区居民
阅读:1235回复:9

怎么在VxD里面知道当前进程的ID?

楼主#
更多 发布于:2002-11-27 15:42
似乎只可在VxD得到进程的Handle,可是得到的Handle又跟在应用层取到的不一致。:(
还是问怎么去到当前进程的ID。

最新喜欢:

hongsinghongsi...
ydyuse
驱动老牛
驱动老牛
  • 注册日期2002-07-25
  • 最后登录2005-03-26
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2002-11-27 17:29
帮你UP一下。
我不熟悉,不过有没有VWIN32_GetCurrentProcessId()这样的函数呢?
生命驱动,活力无限!
fracker
驱动太牛
驱动太牛
  • 注册日期2001-06-28
  • 最后登录2021-03-30
  • 粉丝0
  • 关注0
  • 积分219分
  • 威望81点
  • 贡献值0点
  • 好评度23点
  • 原创分0分
  • 专家分1分
  • 社区居民
板凳#
发布于:2002-11-27 17:38
没有找到,但是有VWIN32_GetCurrentProcessHandle.
pjf
pjf
驱动中牛
驱动中牛
  • 注册日期2001-07-08
  • 最后登录2006-10-23
  • 粉丝0
  • 关注0
  • 积分42分
  • 威望4点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
地板#
发布于:2002-11-28 09:24
没有找到,但是有VWIN32_GetCurrentProcessHandle.


http://www.driverdevelop.com/forum/viewthread.php?tid=11745#pid51261
不是什么好办法
gjpland
驱动小牛
驱动小牛
  • 注册日期2001-09-13
  • 最后登录2011-03-22
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2002-11-28 09:38
http://www.gjpsoft.com/vxd_process.txt
不过不是ID,是APP的完整路径。
我思故我在,脑袋不会坏.
rayyang2000
管理员
管理员
  • 注册日期2001-03-23
  • 最后登录2012-09-13
  • 粉丝3
  • 关注0
  • 积分1036分
  • 威望925点
  • 贡献值3点
  • 好评度823点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2002-11-28 21:49
非常easy啊!:)
DWORD UTIL_GetCurrentProcessId()
{
DWORD dwRing0Handle = (DWORD)VWIN32_GetCurrentProcessHandle();
DWORD dwPID = dwRing0Handle ^ gdwObsfucator;
return dwPID;
}

事先让app把自己的PID通过DeviceIoControl传进来。
gdwObsfucator = pInfo->dwRing3PID ^ ((DWORD)VWIN32_GetCurrentProcessHandle());

至于原理嘛,去看Matt的那本很老的95 Secret,好像是第3章。
天天coding-debugging中----超稀饭memory dump file ======================================================== [b]Windows Device Driver Development and Consulting Service[/b] [color=blue][url]http://www.ybwork.com[/url][/color] ========================================================
rayyang2000
管理员
管理员
  • 注册日期2001-03-23
  • 最后登录2012-09-13
  • 粉丝3
  • 关注0
  • 积分1036分
  • 威望925点
  • 贡献值3点
  • 好评度823点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2002-11-28 21:51
再插一句:那个算出来的gdwObsfucator其实是Windows设计小组最初为了防hack用的,实际上没有什么用处。
天天coding-debugging中----超稀饭memory dump file ======================================================== [b]Windows Device Driver Development and Consulting Service[/b] [color=blue][url]http://www.ybwork.com[/url][/color] ========================================================
lu0
lu0
论坛版主
论坛版主
  • 注册日期2001-06-10
  • 最后登录2016-04-05
  • 粉丝2
  • 关注0
  • 积分-6311分
  • 威望21111点
  • 贡献值0点
  • 好评度7点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2002-11-28 22:08
GJP也来凑热闹.:)
这是我的取PDB的函数. 同样可以用PDB转PID.GetDllFuncA请自己写.:)
//A dirty hack to KERNEL32.DLL that get a un-xored PDB object
//Internal routine from 95/98
typedef DWORD (WINAPI *TTDBToTid)(DWORD tdb);
typedef DWORD (WINAPI *TPDBToPid)(DWORD pdb);

DWORD __cdecl Pid2PDB(DWORD pid) //for 9x only
{
DWORD dwTmp;
DWORD dwTmp1;
TPDBToPid PDBToPid;
dwTmp = (DWORD)GetDllFuncA(\"kernel32\",\"GetCurrentProcessId\");
dwTmp1 = dwTmp + 8;
dwTmp = *(DWORD*)dwTmp1 + dwTmp + 12;
PDBToPid = (TPDBToPid)dwTmp;
return PDBToPid(pid);
}


[编辑 -  11/28/02 by  lu0]
Regards, Lu Lin Webmaster of Inside Programming http://www.lu0s1.com
fracker
驱动太牛
驱动太牛
  • 注册日期2001-06-28
  • 最后登录2021-03-30
  • 粉丝0
  • 关注0
  • 积分219分
  • 威望81点
  • 贡献值0点
  • 好评度23点
  • 原创分0分
  • 专家分1分
  • 社区居民
8楼#
发布于:2002-11-29 11:39
明白了,虽然没有时间去试一下,应该错不了,结账了。
gjpland
驱动小牛
驱动小牛
  • 注册日期2001-09-13
  • 最后登录2011-03-22
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2002-11-29 14:26
GJP也来凑热闹.:)
这是我的取PDB的函数. 同样可以用PDB转PID.GetDllFuncA请自己写.:)
//A dirty hack to KERNEL32.DLL that get a un-xored PDB object
//Internal routine from 95/98
typedef DWORD (WINAPI *TTDBToTid)(DWORD tdb);
typedef DWORD (WINAPI *TPDBToPid)(DWORD pdb);

DWORD __cdecl Pid2PDB(DWORD pid) //for 9x only
{
DWORD dwTmp;
DWORD dwTmp1;
TPDBToPid PDBToPid;
dwTmp = (DWORD)GetDllFuncA(\"kernel32\",\"GetCurrentProcessId\");
dwTmp1 = dwTmp + 8;
dwTmp = *(DWORD*)dwTmp1 + dwTmp + 12;
PDBToPid = (TPDBToPid)dwTmp;
return PDBToPid(pid);
}


[编辑 -  11/28/02 by  lu0]

HEHE,也好久没看到你了,最近在忙些啥啊。
我思故我在,脑袋不会坏.
游客

返回顶部