use*_*028 4 .net c# obfuscation cil
我反编译了一个可执行文件,无法理解源代码(C#)中的这些符号是什么.我会在这里粘贴源代码示例,但是当我尝试粘贴时,反编译源中的特殊字符在此编辑器中不可打印.所以我在这里拍摄几张剪辑图片和粘贴链接,所以任何人都可以看到,所以示例如下:



我猜的是这个源代码被混淆了吗?并且这些符号可以存在于MSIL中,但是当在C#中进行翻译时,它们会产生非法字符.是对的吗?关于如何解决这个问题的任何建议,比如对这些东西进行替换?
MSIL对于允许作为标识符名称的内容有非常宽松的规则.混淆器故意选择C#无法表示的字符,因此您无法往返C#.
但是,您可以反编译为IL并能够编译项目.
另请查看C#的unicode标识符.您可以在C#标识符中包含unicode转义码,这对许多人来说都是令人惊讶的.例:
class @class
{
public static void @static(bool @bool) {
if (@bool)
System.Console.WriteLine("true");
else
System.Console.WriteLine("false");
}
}
class Class1
{
static void M() {
cl\u0061ss.st\u0061tic(true);
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
608 次 |
| 最近记录: |