
系统/进程/线程/DLL
文章平均质量分 82
kugou123
VC MVP 2005~2008
展开
-
WINAPI HOOK (修改前五个字节,JMP跳转法)
本文一介绍用修改API头五个字节的方法在Win2k下的使用。利用Win2k为我们提供了一个强大的内存Api操作函数---VirtualProtectEx,WriteProcessMemeory,ReadProcessMemeory,有了它们我们就能在内存中动态修改代码了,其原型为: BOOL VirtualProtectEx( HANDLE hProcess, // 要修改内存的进程句柄 LPVO原创 2004-07-02 11:22:00 · 2451 阅读 · 0 评论 -
一份进程注入的代码
// Injection.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include "Injection.h"#ifdef _DEBUG#define new DEBUG_NEW#endif// 唯一的应用程序对象CWinApp theApp;using namespace std;typedef struct _RemotePara{//参数结构 c原创 2004-12-29 16:22:00 · 1823 阅读 · 1 评论 -
用.DEF文件导出DLL中的函数
通常我们在调用DLL时所需的DLL文件必须位于以下三个目录之一: (1)Windows的系统目录:/windows/system; (2)DOS中path所指出的任何目录; (3)程序所在的目录。 一、动态链接库的结构 动态链接库中定义有两种函数:导出函数(export function)和内部函数(internal function),导出函数可以被其它模块调用,内部函数只能在库内部使原创 2004-12-29 16:19:00 · 2778 阅读 · 0 评论 -
FAQ200412:得到指定文件的信息
char* szFileName = "C://EnochShen.exe"; DWORD dwSize = GetFileVersionInfoSize(szFileName,NULL); LPVOID pBlock = malloc(dwSize); GetFileVersionInfo(szFileName,0,dwSize,pBlock); char* pVerValue = NULL;原创 2004-12-29 16:02:00 · 1079 阅读 · 0 评论 -
FAQ200412:获取系统有几个逻辑分区
char cr[3]; char lable[12]; for(int n=0;n { CString str; str.Format("%c:",n+A); strcpy(cr,str); int dt = GetDriveType(cr); int succeed = GetVolumeInformation(cr,lable,12,NULL,NULL,NULL,NULL,0);原创 2004-12-29 16:01:00 · 933 阅读 · 0 评论 -
获取磁盘使用空间和剩余空间(代码)
char crDrv[3];CStringArray strArray;_ULARGE_INTEGER n64TotalNumberOfBytes, n64TotalNumberOfFreeBytes;__int64 n64TotalFree = 0,n64TotalSpace = 0;float fTotalFree,fTotalSpace,fTempFree,fTempTotal;ULON原创 2004-12-29 15:54:00 · 1370 阅读 · 0 评论 -
Windows 任务管理器如何确定应用程序"没有响应"(收藏)
最近参加的一个项目要求实现远程任务管理功能,也就是"Remote Task Manager"(RTM)。我把它与Windows NT的任务管理器进行了比较,发现标准的任务管理器显示应用程序的状态(正在运行或者没有响应)。标准的任务管理器发送(通过SendMessageTimeout函数)一个消息到主应用窗口,如果函数调用失败或者超时--则应用程序的状态就是"没有响应",否则状态为"正在运行"。原创 2004-12-29 16:18:00 · 2419 阅读 · 1 评论 -
获得INTEL系列CPU序列号
//取得IntelCPU的ID号:void IntelCPUIDDlg::OnButtonCPUID(){ unsigned long s1,s2; unsigned char vendor_id[]="------------------"; CString str1,str2,str3; __asm{ xor eax,eax cpuid mov dword ptr v原创 2004-12-29 15:48:00 · 2888 阅读 · 0 评论 -
屏蔽WIN、ALT+TAB、CTRL+ESC键的低级键盘钩子
回调函数:LRESULT CALLBACK LowLevelKeyboardProc(int nCode, WPARAM wParam, LPARAM lParam){ BOOL fEatKeystroke = FALSE; PKBDLLHOOKSTRUCT p = NULL; if (nCode == HC_ACTION) { p = (PKBDLLHOOKSTRUCT) lParam;原创 2004-12-29 16:25:00 · 2667 阅读 · 0 评论 -
在VC中使用WMI(英文原版)作者:BugSearcher
IntroductionWe normally find a lot of ways and a number of resources to use WMI or to get information from “Windows Management Instrumentation” while using Visual Basic 6 and C#, but I could not fin原创 2004-09-04 10:29:00 · 2215 阅读 · 3 评论 -
枚举系统进程核心代码(代码)
包含头文件:#include "tlhelp32.h"示例:void CTerminateProcessDlg::OnGetProcess() { m_ListBox.ResetContent(); CString m_output; HANDLE hProcessSnap=NULL; PROCESSENTRY32 pe32={0}; hProcessSnap=CreateToolhelp32S原创 2004-12-29 16:37:00 · 1718 阅读 · 0 评论