我已经看到它说通过对框架 api 的调用(如对字符串)的存在简化了混淆 C# 和 Java 的反编译。但是,这对我来说不太有意义,因为 C 程序不应该也对某些标准库有明显的调用,这相当于 C# api?
我还看到它说注册机(将从 C 运行程序集的硬件)和堆栈机(将运行字节码的虚拟机)之间的区别对反编译的复杂性很重要。
那么堆栈/注册机问题是这里的主要问题吗?假设如果 CLR 虚拟机被重新实现为注册机,C# 字节码会突然变得像 C 可执行文件一样难以反编译吗?或者是否还有其他一些主要的复杂性差异在这样的平台大修中不会消失?