看流星社区

 找回密码
 注册账号
查看: 5052|回复: 15

利用PsGetCurrentProcess得进程路径

[复制链接]

该用户从未签到

发表于 2011-8-7 15:48:57 | 显示全部楼层 |阅读模式
首先利用PsGetCurrentProcess或IoGetCurrentProcess函数得到当前进程的句柄,这个句柄是指向_EPROCESS结构的指针,_EPROCESS的结构如下:

typedef struct _EPROCESS
{
KPROCESS Pcb;
NTSTATUS ExitStatus;
KEVENT LockEvent;
DWORD LockCount;
QWORD CreateTime;
QWORD ExitTime;
PVOID LockOwner;
DWORD UniqueProcessId;
QWORD ActiveProcessLinks;
DWORD QuotaPeakPoolUsage [2]; // NP, P
DWORD QuotaPoolUsage [2]; // NP, P
DWORD PagefileUsage;
DWORD CommitCharge;
DWORD PeakPagefileUsage;
DWORD PeakVirtualSize;
QWORD VirtualSize;
DWORD Vm [12];
DWORD LastProtoPteFault;
DWORD DebugPort;
DWORD ExceptionPort;
DWORD ObjectTable;
DWORD Token;
DWORD WorkingSetLock [8];
DWORD WorkingSetPage;
BOOLEAN ProcessOutswapEnabled;
BOOLEAN ProcessOutswapped;
BOOLEAN AddressSpaceInitialized;
BOOLEAN AddressSpaceDeleted;
DWORD AddressCreationLock [9];
DWORD ForkInProgress;
DWORD VmOperation;
DWORD VmOperationEvent;
DWORD PageDirectoryPte;
QWORD LastFaultCount;
PVOID VadRoot;
DWORD VadHint;
DWORD CloneRoot;
DWORD NumberOfPrivatePages;
DWORD NumberOfLockedPages;
WORD w184;
BOOLEAN ExitProcessCalled;
BOOLEAN CreateProcessReported;
HANDLE SectionHandle;
struct _PEB *Peb; // offset 0x1B0
PVOID SectionBaseAddress;
PVOID QuotaBlock;
NTSTATUS LastThreadExitStatus;
PROCESS_WS_WATCH_INFORMATION WorkingSetWatch;
DWORD InheritedFromUniqueProcessId;
ACCESS_MASK GrantedAccess;
DWORD DefaultHardErrorProcessing;
DWORD LdtInformation;
DWORD VadFreeHint;
DWORD VdmObjects;
KMUTANT ProcessMutant;
BYTE ImageFileName [16]; // offset 0x1FC
DWORD VmTrimFaultValue [2];
PVOID Win32Process;
DWORD d1F8;
DWORD d1FC;
}
EPROCESS,
* PEPROCESS,
**PPEPROCESS;

从上面这个结构可以看出,进程名称就是ImageFileName,只要用_EPROCESS的基地址加上偏移地址0x1FC就可以得到进程名称的地址,代码如下:
游客,如果您要查看本帖隐藏内容请回复

该用户从未签到

发表于 2011-10-27 02:45:43 | 显示全部楼层
v我想快點搞定IAT Hook

该用户从未签到

发表于 2011-11-9 16:51:38 | 显示全部楼层
···································

该用户从未签到

发表于 2011-11-9 16:52:35 | 显示全部楼层
额·············很不稳定的方法!!!!不建议使用。轻松抹掉!

该用户从未签到

发表于 2011-11-16 14:43:01 | 显示全部楼层
PsGetCurrentProcess得进程路径

该用户从未签到

发表于 2011-12-3 17:16:34 | 显示全部楼层
谢谢分享谢谢分享

该用户从未签到

发表于 2012-8-30 14:45:40 | 显示全部楼层
回复 1# 功力神


    这个也好玩

该用户从未签到

发表于 2013-5-16 10:04:49 | 显示全部楼层
回复 1# 功力神


    学习了~~~

该用户从未签到

发表于 2013-9-28 13:02:51 | 显示全部楼层
不晓得能用否,别是标题党就好了!辛苦了。

该用户从未签到

发表于 2013-10-30 14:38:16 | 显示全部楼层
好像可以获取进程名称的?
点击按钮快速添加回复内容: 支持 高兴 激动 给力 加油 苦寻 生气 回帖 路过 感恩
您需要登录后才可以回帖 登录 | 注册账号

本版积分规则

小黑屋|手机版|Archiver|看流星社区 |网站地图

GMT+8, 2024-4-20 11:33

Powered by Kanliuxing X3.4

© 2010-2019 kanliuxing.com

快速回复 返回顶部 返回列表