资源简介
本程序在MFC环境下编写的,获取了进程的详细信息,包括进程ID、进程路径、进程的描述、进程占用的内存信息、进程包含的线程数、进程文件的路径和MD5码,以及进程包含的模块的详细信息。
代码片段和文件信息
/////////////////////////////////////////////////////////////////////
//md5.cpp
/////
#include “StdAfx.h“
#include “md5.h“
#include
#include
const ULONG CMd5::Context[4]={ 0x67452301
0xefcdab89
0x98badcfe
0x10325476
};
/*
const ULONG CMd5::Context[4]= {0X01234567
0X89abcdef
0Xfedcba98
0X76543210
};*/
const LPSTR CMd5::ErrInfo[5][2]={
{““““}
{“The Memory is not enough !““内存分配失败!“}
{“Have not assign a file !““未指定文件!“}
{“Have not assign the text !““未指定文本!“}
{“Have something wrong with MD5!““有错误发生!“}
};
//==========================<内联函数实现>=========================================
ULONG CMd5::LRotate(ULONG Sdataint nBit)
{
return (Sdata<>(32-nBit));
}
ULONG CMd5::F(ULONG xULONG yULONG z)
{
return (x&y)|((~x)&z);
}
ULONG CMd5::G(ULONG xULONG yULONG z)
{
return (x&z)|(y&(~z));
}
ULONG CMd5::H(ULONG xULONG yULONG z)
{
return x^y^z;
}
ULONG CMd5::I(ULONG xULONG yULONG z)
{
return y^(x|(~z));
}
void CMd5::FF(ULONG &aULONG bULONG cULONG dULONG Msgint nBitULONG Cnt)
{
a+=F(bcd)+Msg+(ULONG)Cnt;
a=LRotate(anBit);
a+=b;
}
void CMd5::GG(ULONG &aULONG bULONG cULONG dULONG Msgint nBitULONG Cnt)
{
a+=G(bcd)+Msg+(ULONG)Cnt;
a=LRotate(anBit);
a+=b;
}
void CMd5::HH(ULONG &aULONG bULONG cULONG dULONG Msgint nBitULONG Cnt)
{
a+=H(bcd)+Msg+(ULONG)Cnt;
a=LRotate(anBit);
a+=b;
}
void CMd5::II(ULONG &aULONG bULONG cULONG dULONG Msgint nBitULONG Cnt)
{
a+=I(bcd)+Msg+(ULONG)Cnt;
a=LRotate(anBit);
a+=b;
}
//==========================<成员函数实现>======================================
CMd5::CMd5()
{
IsSuc=false;
Pointer=NULL;
memset(strErr050);
}
CMd5::CMd5(wchar_t *filename)
{
IsSuc=false;
Pointer=NULL;
memset(strErr050);
TargetFile(filename);
}
CMd5::~CMd5()
{
if(Sfile.is_open())Sfile.close();
if(Pointer){delete[]Pointer; Pointer=NULL;}
}
LPCTSTR CMd5::TargetFile(wchar_t *filename)
{
if(!Init())SetErr(1);
static wchar_t temp[MAX_PATH];
wcscpy(tempfname);
wcscpy(fnamefilename);
CaculateFile();
return temp;
}
void CMd5::TargetStr(LPCSTR str)
{
if(!Init())SetErr(1);
CaculateStr(str);
}
bool CMd5::Init()
{
*fname=‘\0‘;
IsSuc=true;
*Digest=‘\0‘;
try{
Pointer=new BYTE[sizeof(ULONG)*16];
}
catch(bad_alloc w)
{
Pointer=NULL;
SetErr(1);
}
pM=(ULONG*)Pointer;
FileLen=0;
for(int i=0;i<4;i++)
T[i]=Context[i];
return true;
}
bool CMd5::OpenFile()
{
Sfile.open(fnameios::in|ios::binary);
if(!Sfile)
{
SetErr(0);
}
return true;
}
bool CMd5::Read64Byte()
{ static bool rb=true;
int n;
if(!Sfile.eof())
{
Sfile.read((char*)Pointersizeof(ULONG)*16);
FileLen+=n=Sfile.gcount();
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2011-12-19 09:54 processClient\
目录 0 2011-12-19 09:54 processClient\debug\
文件 159744 2011-11-19 20:05 processClient\debug\process.exe
文件 1194732 2011-11-19 20:05 processClient\debug\process.ilk
文件 3918848 2011-11-19 20:05 processClient\debug\process.pdb
目录 0 2011-12-19 09:54 processClient\process\
文件 16043008 2011-12-05 19:54 processClient\process.ncb
文件 886 2011-11-16 08:53 processClient\process.sln
文件 39424 2011-12-05 19:54 processClient\process.suo
文件 389120 2011-11-22 10:42 processClient\processFile.mdb
目录 0 2011-12-19 09:54 processClient\process\Debug\
文件 8800 2011-09-27 23:52 processClient\process\md5.cpp
文件 2274 2011-09-27 23:52 processClient\process\md5.h
文件 59624 2011-11-29 17:39 processClient\process\process.aps
文件 1942 2011-11-29 17:08 processClient\process\process.cpp
文件 486 2011-11-22 16:53 processClient\process\process.h
文件 5657 2011-11-29 17:39 processClient\process\process.rc
文件 5589 2011-11-16 09:27 processClient\process\process.vcproj
文件 1427 2011-12-05 19:54 processClient\process\process.vcproj.MICROSOF-623AF7.Administrator.user
文件 22266 2011-12-05 19:30 processClient\process\processDlg.cpp
文件 1613 2011-12-04 18:53 processClient\process\processDlg.h
文件 389120 2011-11-29 19:00 processClient\process\processFile.mdb
文件 2763 2011-11-16 08:53 processClient\process\ReadMe.txt
目录 0 2011-12-19 09:54 processClient\process\Release\
文件 7470 2011-12-05 19:30 processClient\process\Release\BuildLog.htm
文件 568901 2011-11-29 17:17 processClient\process\Release\md5.obj
文件 100581 2010-11-09 22:51 processClient\process\Release\msado15.tlh
文件 77120 2010-11-09 22:51 processClient\process\Release\msado15.tli
文件 67 2011-12-05 19:30 processClient\process\Release\mt.dep
文件 874 2011-12-05 19:30 processClient\process\Release\process.exe.intermediate.manifest
文件 21539 2011-12-04 18:54 processClient\process\Release\process.obj
............此处省略16个文件信息
- 上一篇:南邮编译原理实验
- 下一篇:GDAL遥感影像处理
相关资源
- IPTables(显示进程所使用的端口和远程
- VC进程杀手
- MFC两进程间内存共享源码
- 操作系统进程调度先来先服务、短进
- MFC vc6.0 RSA DES MD5 加密解密算法
- 操作系统课程设计 实现段页式存储管
- 操作系统进程调度模拟算法
- 操作系统 短进程调度算法 c语言文档
- 进程调度模拟实验
- C语言编写Socket编写进程间传文件
- 生产者与消费者 进程的同步与互斥模
- MD5 摘要算法C语言实现
- 进程调度 时间片轮转调度算法源代码
- 基于优先级调度进程算法的实现C语言
- SuperPid修改进程PID工具驱动级.别名.
- 单处理器系统的进程调度+操作系统(
- ASP版hmac和md5加密函数,支持中文,带
- 操作系统C语言实现银行家算法,键盘
- 课程设计 分段存储管理的分配与回收
- MFC实现MD5值生成工具文件和字符串都
- c++获取cpu使用率包含系统和单进程
- C++信号量实现互斥爸爸女儿儿子苹果
- 进程的同步与互斥C语言
- HMAC-MD5 C语言算法
- 进程管理和调度的算法实现
- 用C#和C++实现的进程调度算法程序操作
- VC++ 四种进程间通信的完整
- 基于 51 单片机 多进程 多任务 纯 C语
- c++操作系统进程管理模拟
- 操作系统进程调度算法——短作业优
评论
共有 条评论