• 大小: 31KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-05-11
  • 语言: 其他
  • 标签: VC  hook  

资源简介

一个关于VC实现拦截数据包的例子,可以作为网络开发使用!!

资源截图

代码片段和文件信息

////////////////////////////////////////////
// EnumProcessDlg.cpp文件

#include “EnumProcessDlg.h“
#include “resource.h“
#include 


CEnumProcessDlg::CEnumProcessDlg(CWnd* pParentWnd):CDialog(IDD_ENUMDIALOG pParentWnd)
{
}

BOOL CEnumProcessDlg::OnInitDialog()
{
CDialog::OnInitDialog();

// 取得列表视图子窗口的控制权
m_listPro.SubclassWindow(::GetDlgItem(m_hWnd IDC_PROLIST));

// 设置属性
m_listPro.SetExtendedstyle(LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES);
m_listPro.InsertColumn(0 “进程“ LVCFMT_LEFT 120);
m_listPro.InsertColumn(1 “Pid“ LVCFMT_LEFT 70);

// 更新进程列表
UpdateProcess();

return FALSE;
}

void CEnumProcessDlg::OnOK()
{
// 取得当前选中项目的索引
int nCur = m_listPro.GetNextItem(-1 LVNI_SELECTED);
if(nCur == -1)
{
MessageBox(“请选择要打开的进程“);
}
else
{
// 设置线程ID
m_dwThreadId = (DWORD)m_listPro.GetItemData(nCur);
// 设置进程ID
char sz[32] = ““;
m_listPro.GetItemText(nCur 1 sz 31);
m_dwProcessId = (DWORD)atoi(sz);
// 关闭对话框,返回IDOK
CDialog::OnOK();
}
}

void CEnumProcessDlg::UpdateProcess()
{
// 删除所有的项
m_listPro.DeleteAllItems();

int nItem = 0; // 项计数

PROCESSENTRY32 pe32 = { sizeof(PROCESSENTRY32) }; 
HANDLE hProcessSnap = ::CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS 0); 
if(hProcessSnap == INVALID_HANDLE_VALUE) 
return; 
if(::Process32First(hProcessSnap &pe32)) 

do 

// 插入新项
m_listPro.InsertItem(nItem pe32.szExeFile 0);

// 取得进程ID,设置此项的文本
char szID[56];
wsprintf(szID “%u“ pe32.th32ProcessID);
m_listPro.SetItemText(nItem 1 szID);

// 下面的代码将遍历系统内的所有线程,以便找到此进程的主线程
HANDLE hThreadSnap = ::CreateToolhelp32Snapshot(TH32CS_SNAPTHREAD 0);
THREADENTRY32 te32 = { sizeof(te32) };
if(::Thread32First(hThreadSnap &te32))
{
do
{
if(te32.th32OwnerProcessID == pe32.th32ProcessID)
{
// 找到主线程ID号,关联它到当前项
m_listPro.SetItemData(nItem te32.th32ThreadID);
break;
}
}
while(::Thread32Next(hThreadSnap &te32));
}
::CloseHandle(hThreadSnap);

nItem++;

while(::Process32Next(hProcessSnap &pe32)); 
}
::CloseHandle(hProcessSnap);
}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       4123  2005-01-30 22:26  10IPPack\10IPPack.dsp

     文件        539  2004-12-08 19:23  10IPPack\10IPPack.dsw

     文件      40960  2004-12-11 00:42  10IPPack\10IPPackLib.dll

     文件       2317  2004-12-11 10:27  10IPPack\EnumProcessDlg.cpp

     文件        472  2004-12-11 00:48  10IPPack\EnumProcessDlg.h

     文件       8519  2005-01-19 14:25  10IPPack\IPPack.cpp

     文件       1260  2004-12-11 11:28  10IPPack\IPPack.h

     文件       1078  2004-12-08 19:31  10IPPack\IPPack.ico

     文件       3752  2004-12-10 12:43  10IPPack\IPPack.rc

     文件        413  2004-12-09 19:27  10IPPack\IPPackLib.h

     目录          0  2005-11-25 11:20  10IPPack\Release

     文件       1005  2004-12-09 23:22  10IPPack\resource.h

     文件       1826  2005-01-30 10:47  10IPPack\ShareMemory.h

     目录          0  2005-11-25 11:20  10IPPack

     文件       4379  2004-12-09 00:03  10IPPackLib\10IPPackLib.dsp

     文件        545  2004-12-08 23:15  10IPPackLib\10IPPackLib.dsw

     文件       6924  2005-01-30 10:47  10IPPackLib\IPPackLib.cpp

     文件         67  2004-10-27 15:09  10IPPackLib\IPPackLib.def

     文件        544  2004-12-10 21:14  10IPPackLib\IPPackLib.h

     目录          0  2005-11-25 11:20  10IPPackLib\Release

     文件       1826  2005-01-30 10:47  10IPPackLib\ShareMemory.h

     文件       2126  2005-01-30 10:47  10IPPackLib\ULHook.cpp

     文件        514  2005-01-12 21:43  10IPPackLib\ULHook.h

     目录          0  2005-11-25 11:20  10IPPackLib

     文件         56  2007-02-22 17:23  QQ联系我.txt

----------- ---------  ---------- -----  ----

                83245                    25


评论

共有 条评论