我想构建一个能够使用.Net类的应用程序。如果我选择C#,我知道像Refactor这样的工具能够对代码进行逆向工程(直到我不支付非常昂贵的工具来避免这种情况)。
当我的应用程序是用Visual C ++(带/ clr)开发时,你知道是否同样适用。 您可以轻松地将托管代码与非托管代码混合,直接调用我需要的所有.Net类。
您知道结果是否仍然可以使用Reflector进行反向设计?
我真正不知道的是,最终的应用程序是否被编译为直接在CPU上运行的普通二进制文件(如非托管应用程序),或者是否在加载时使用JIT生成了一些IL,因此可以进行逆向工程?
答案 0 :(得分:4)
答案是两者。使用CLR的方法将编译为il,而不使用clr的方法将编译为本机代码。但最好的答案是编写一些示例函数,编译dll并在Refelctor中打开它。