我在C#中有一个关于散列的问题,他们是一种检测散列文件的方法,这些文件作为一个过程运行或者沿着那些行运行。
我正在研究散列exe或任何其他文件格式,我想知道是否有办法检测它在C#中运行。
答案 0 :(得分:0)
对于散列使用System.Security.Cryptography.MD5
或System.Security.Cryptography.SHA1
。
SHA1 sha1 = SHA1.Create();
FileStream fs = new FileStream("myFile", FileMode.Open, FileAccess.Read);
byte[] hash = sha1.ComputeHash(fs);
fs.Close();
如果要分析所有正在运行的进程,可以执行以下操作(请注意,如果您的进程为32位,则无法访问64位进程):
foreach (Process proc in Process.GetProcesses())
{
try
{
string exePath = proc.MainModule.FileName;
// calculate hash
}
catch
{ }
}
如果您想获取正在使用的所有文件的列表,可以查看this topic,但这将是一个思考。