阅读:2563回复:7
怎样通过进程ID获取进程的全路径(WIN2K及以上)?用户被禁言,该主题自动屏蔽! |
|
沙发#
发布于:2007-03-08 10:29
zwopenprocess
ObReferenceObjectByHandle ObQueryNameString |
|
|
板凳#
发布于:2007-03-08 12:31
不用把
|
|
|
地板#
发布于:2007-03-08 12:32
貌似可以通过SectionObject获得~
FileObject很麻烦 |
|
|
地下室#
发布于:2007-03-08 12:35
这个问题快被问烂了.如果在进程上下文,可以通过PEB(要让其可访问)获取.
如果不在上下文,想得到全路径,可以通过与Section相关的对象(网上有文)来获取全路径. 应该办法挺多的,统一的办法好像没有吧. 各种情况需要个别处理. |
|
5楼#
发布于:2007-03-08 14:10
无论是PEB还是SECTION->FILEOBJECT,对各个OS都得硬编码,麻烦的很.
|
|
|
6楼#
发布于:2007-03-14 08:19
引用第5楼wowocock于2007-03-08 16:10发表的“”: 我试过2K/2kSP4/XP/XPSP1/XPSP2/2K3SP1/Vista32,都是一样的。其他的没有试过。 |
|
|
7楼#
发布于:2007-03-15 09:44
__try
{ PWSTR pwProcessPath = * ( PWSTR *) 0x2003c; DbgPrint( "Current Process Path : %S", pwProcessPath ); } __except( EXCEPTION_EXECTION_HANDLER ) ERb0OA { DbgPrint( "except! system run time!" ); } 在passive_leave上,2k到2k3好像都没问题 ,不用考虑硬编码。。。 |
|