首页 > C/C++开发工具专区 > VC技术 > 进程模块查看
2010
03-29

进程模块查看

进程模块查看

作者:Oshj


下载源代码


摘要:本文及其附带源码为SDK工程,用于枚举进程及其所挂接的所有模块,并实现了远程卸载指定的进程模块,此外,实现了对系统运行对话框、文件属性对话框的调用。

关键字:枚举进程、进程模块、远程卸载

环境:VC6.0/WinXP/SP2/1024*768分辨率

补充:这是本人2006年写的代码,纯SDK的,当时正在看李马的远程注入相关的文章,自己练手写了一些东西,本来想把远程注入的相关代码也放上来,但人家李马的已经写得很明白了,网上也很多,就算了。而这个是模仿他的 July 程序写的,他没有放出源码(不知道他现在是否放出来了),自己就写了一个,算是辅助工具类。今天我又大致翻了一下,代码注释很少,但应该不算乱,有心人可以凑合看。
个人觉得VCK应该搜寻或翻译一些框架类设计方面的文章,诸如MVC等一些界面、数据、操作分离的,或更高级的文章。

写这个工具的目的:用来查看 DLL 是否已经成功注入到目标进程。

界面截图:


自用辅助工具,未严格测试,XP/2K 下通过。
参考李马的 July 程序,他没有放出源码,所以一咬牙一跺脚就自己写了。我的实现目前暂时未发现大的 BUG,能凑合用。

在 vckbase 上翻了一下,不晓得是我搜索不正确还是 VCK 的搜索功能弱,好像还没有类似的工具,所以提交上来了,希望能有用。

重新编译了一下,能通过^_^ ,代码没有整理,注释也不多,但我相信,对有心人来说已经足够了,无心人就算写了也不一定对他有用。
就这些了。

主要的功能或技术点:

一、//提升当前进程的权限
bool EnableDebugPrivilege();

二、枚举进程

#include <TLHELP32.H> //枚举进程
#pragma comment(lib,”comctl32.lib”)
//枚举进程
DWORD EnumProcess(LPCTSTR sTarget);

三、进程挂接的所有模块

void InitValue(PROCESSENTRY32 *pe)

四、远程卸载进程模块

bool RemoteFreeLibrary(DWORD dwProcessID,LPCSTR lpszDll)

五、vector 遍历搜索

六、系统运行对话框、文件属性对话框

void RunSysDlg()
void ShowFileAttr(LPCTSTR sFile)

辅助的:系统热键



来源:http://www.vckbase.com/document/viewdoc/?id=1882


留下一个回复