我目前正在开发一个应用程序,让用户避免反编译代码非常重要。现在,我意识到如果一个有经验的程序员执行,大多数.exes都是可以反编译的。然而,我的目标仅仅是保持它对基本编程知识的“常规”用户的安全。Confuser .NET混淆器。它安全吗?
我遇到过几个混淆器,我现在使用的是Codeplex Confuser,它可以找到here。由于我不是混淆专家,或者是在任何高层次编程中经历过的,所以我问你是否知道这个混淆器的安全性。
我目前正在开发一个应用程序,让用户避免反编译代码非常重要。现在,我意识到如果一个有经验的程序员执行,大多数.exes都是可以反编译的。然而,我的目标仅仅是保持它对基本编程知识的“常规”用户的安全。Confuser .NET混淆器。它安全吗?
我遇到过几个混淆器,我现在使用的是Codeplex Confuser,它可以找到here。由于我不是混淆专家,或者是在任何高层次编程中经历过的,所以我问你是否知道这个混淆器的安全性。
从我的经验来看,Confuser是目前最难倒转的(免费)混淆器之一。至少通过单击工具。
就我个人而言,我有几个问题,即使用最大设置和一些使我的.exe无法运行的情况下的一些误报。
请记住,不管是否比其他免费替代品有点难以逆转,如果他花了一点时间,仍然有可能这样做。
这是什么被.NET反射器使用(去图)?因为在反射器中打开它会给我随机的unicode函数名称,例如 –
令人怀疑,因为使用免费的混淆器处理这样大小的程序只会导致它们出现问题。你有没有尝试过使用不同的程序来打开反射器? ILSpy是一个很好的选择。 – denied66
是的,我试过ILSpy和IDA。它们都给了我随机的(不是随机的,但有重音的字符,符号等等)函数和varialbe的名字,就像它们只是随机的字节数据一样(但是通过加载来保持一致,所以它是真正的变量名,像这样:'call ...: :Reflector。&' –
那么你会如何建议我让软件的某些代码无法访问?比如我在哪里定义了洗牌加密的方法,并在某些文件中隐藏信息。 – Fredrik
你为什么要隐藏信息?如果您担心防篡改,请查看[public-key cryptography](http://en.wikipedia.org/wiki/Public-key_cryptography)(非对称密码)和[数字签名](http:// en .wikipedia.org /维基/ Digital_signature)。 – oldrinb
看看这个问题:http://stackoverflow.com/questions/2478230/how-can-i-protect-my-net-assemblies-from-decompilation – niaher