程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> VC++通過進程注入讀取其它程序列表數據演示

VC++通過進程注入讀取其它程序列表數據演示

編輯:關於C語言
 

程序目標:進程注入讀取C盤列表文件目錄(通過窗口進程內存讀取),由於代碼很少,所以不再做詳細介紹,天緣博客後續會有一些專題介紹注入技術、HOOK技術文章發表。

測試系統:Windows XP,測試通過。

程序的整體分成兩個部分:

1、主體函數部分,功能是負責查找目標程序窗口,初始化句柄和目標進程ID,然後枚舉子窗體控件,初始化目標控件句柄,注入進程並提取有用信息。

void CQQDlg::OnOK()
{
HWND hQQSearchWnd= NULL;//窗口句柄
hQQSearchWnd = ::FindWindow(NULL,"SYS (C:)");//找到查找目標窗口句柄
if(NULL==hQQSearchWnd)
{
m_Edt_str="未找到指定標題窗口";
}
else
{
EnumChildWindows(hQQSearchWnd,EnumFunc,0);//枚舉子窗口,初始化g_hListCtrl
//hQQSearchWnd=::FindWindowEx(hQQSearchWnd,0,"SysListView32",0);

if (NULL == g_hListCtrl)
{
MessageBox("列表控件查詢失敗,請檢查回調函數","錯誤!",NULL);
}
else//------
{
DWORD PID = 0; //進程ID
HANDLE hProcess = NULL; //進程句柄

GetWindowThreadProcessId(g_hListCtrl, &PID);//讀進程ID

hProcess=OpenProcess(PROCESS_ALL_ACCESS,false,PID);//獲取對方進程句柄
if (NULL == hProcess)
{
MessageBox("獲取進程句柄操作失敗!","錯誤!",NULL);
return;
}
else
{
LVITEM lvitem, *plvitem;
TCHAR ItemBuf[512];
TCHAR *pItem;

plvitem = NULL;
pItem = NULL;

plvitem=(LVITEM*)VirtualAllocEx(hProcess, NULL, sizeof(LVITEM), MEM_COMMIT, PAGE_READWRITE);
pItem=(char*)VirtualAllocEx(hProcess, NULL, 512, MEM_COMMIT, PAGE_READWRITE);//分配虛擬內存
if ((!plvitem)||(!pItem))
{
MessageBox("無法分配內存!","錯誤!",NULL);
}
else
{
lvitem.cchTextMax=512;
lvitem.iSubItem=0; //條目ID編號
lvitem.pszText=pItem; //注意,這裡賦值
WriteProcessMemory(hProcess, plvitem, &lvitem, sizeof(LVITEM), NULL);

for(int i=0;i<g_iRecords;i++)//循環讀在線QQ號
{
::SendMessage(g_hListCtrl, LVM_GETITEMTEXT, (WPARAM)i, (LPARAM)plvitem);
ReadProcessMemory(hProcess, pItem, ItemBuf, 512, NULL);
m_Edt_str += ItemBuf;
m_Edt_str +="rn";
Sleep(100);
}
}
VirtualFreeEx(hProcess, plvitem, 0, MEM_RELEASE);
VirtualFreeEx(hProcess, pItem, 0, MEM_RELEASE);
//CloseHandle(hProcess);
}
}//------

CloseHandle(g_hListCtrl);
CloseHandle(hQQSearchWnd);
}
UpdateData(false);
//CDialog::OnOK();
}  

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved