如何对.NET二进制文件进行部分除臭?

2024-04-24 02:53:26 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一段模糊的代码:

public static string P = "粹ताYwN의도==";

// Token: 0x06000038 RID: 56 RVA: 0x00004BF4 File Offset: 0x00002DF4
public static void u()
{
checked
   {
...
P = Encoding.UTF8.GetString(Convert.FromBase64String(Strings.Replace(Strings.Replace(Strings.Replace(Strings.Replace(P, "粹", "M", 1, -1, CompareMethod.Binary), "ता", "T", 1, -1, CompareMethod.Binary), "의도", "A", 1, -1, CompareMethod.Binary), "에", "e", 1, -1, CompareMethod.Binary)));
...
}}

问题是:

  1. 去除这些字符串的基本方法是什么

  2. 是否有可能以某种方式自动解密p变量?P可能以不同的方式进行加密,但始终具有类似“P=F(…)”的赋值。F()不依赖于任何外部API。此外,它不依赖于任何以前的代码。它甚至可以简单到“P=4”

不幸的是,我受到Linux的限制。我还可以使用Python/C编写代码。不过,如果有针对Windows的解决方案,我也很感兴趣

更新: 我在一些项目中成功地使用了MIASM来模拟x86/x64。所以,我可以得到函数执行结果。也许,我也需要这样的工具/框架

此外,我还知道de4dot和其他除臭剂等工具。然而,直接处决他们并没有帮助


Tags: 工具代码tokenstring方式staticpublicreplace