好的,所以我正在尝试在 C# 中制作一个基本的恶意软件扫描程序,我的问题是说我有特定代码位的十六进制签名
例如
{
System.IO.File.Delete(@"C:\Users\Public\DeleteTest\test.txt");
}
//Which will have a hex of 53797374656d2e494f2e46696c652e44656c657465284022433a5c55736572735c5075626c69635c44656c657465546573745c746573742e74787422293b
更改为 -
{
System.IO.File.Delete(@"C:\Users\Public\DeleteTest\notatest.txt");
}
//Which will have a hex of 53797374656d2e494f2e46696c652e44656c657465284022433a5c55736572735c5075626c69635c44656c657465546573745c6e6f7461746573742e74787422293b
请记住,这些位将包含在程序的整个十六进制中 - 我如何才能获取我的基本签名并寻找部分匹配,说有 90% 匹配因此被标记。
我会做一个通配符,但这不适用于稍微复杂的事情,因为它的编码可能略有不同,但大部分是相同的。那么有没有办法可以对子字符串进行百分比匹配?我正在研究 Levenshtein 距离,但我不知道如何将它应用到这个给定的场景中。
提前感谢您的任何输入