資源簡介
本程序在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遙感影像處理
評論
共有 條評論