保护资源免受逆向工程的最佳实践

时间:2016-02-20 10:21:51

标签: c# c++ dll reverse-engineering resource-files

为了解决某些级别的反向工程或反编译保护问题,我决定将我的C#应用​​程序的重要部分(包括几个xml资源)移到基于here描述的方法的本机C ++ DLL文件中C ++程序中的资源以及practice1practice2用于在C#应用程序中使用C ++ DLL文件。现在我有两个问题:

  1. 这是解决逆向工程应用保护的正确方法吗?
  2. 什么是正确的方式返回文本内容。在C + +̶̶DLL文件基于̶p̶r̶a̶c̶t̶i̶c̶e̶1̶和̶p̶r̶a̶c̶t̶i̶c̶e̶2̶.̶我已阅读̶m̶a̶n̶a̶y̶样品,̶但所有这些,我读曾形容通过使用添加/减/乘/̶D̶e̶v̶i̶d̶e̶̶f̶u̶n̶c̶t̶i̶o̶n̶s̶.̶
  3. 更新 我跳过第二个问题可能是编码问题,而第一个问题是关于练习的问题。

1 个答案:

答案 0 :(得分:4)

将文本资源放置在DLL中是一种隐藏资源而不是保护资源的技术。如果我们的目标是保护您的资源免受逆向工程的影响,那么这种技术只能作为默默无闻的最低和最低效的安全措施,并且#34;它不会以最小的决心来破解你的资源,从而无法保护任何人。

对于任何程度的实际保护,您需要使用加密,因为使用自定义密钥加密您的资源需要更高程度的复杂程度来尝试对您的系统进行逆向工程。这不会完全不可能对你的系统进行逆向工程,但它足以阻止知识有限的黑客搞乱你的代码。