Language agnostic 什么语言将保护我的源代码?

Language agnostic 什么语言将保护我的源代码?,language-agnostic,obfuscation,drm,copy-protection,Language Agnostic,Obfuscation,Drm,Copy Protection,我希望创建包含注册算法的共享软件。我正在寻找一种编程语言,它不能很容易地反编译成可读的代码。例如,C#可以反编译成可读代码 我有什么选择 编辑:我正在寻找一些只能反编译成汇编的东西。例如,Delphi不能像C#或Java那样进行反编译,但据我所知,Delphi正在消亡。如果您的CPU能够看到代码并运行它,根据定义,一个足够有才华的人也可以这样做 但是,您可以通过模糊处理程序运行代码,使其变得更加困难。这在逻辑上不是不可能的吗 如果您可以运行代码,您就可以获得由CPU执行的指令。在这一点上,您的算

我希望创建包含注册算法的共享软件。我正在寻找一种编程语言,它不能很容易地反编译成可读的代码。例如,C#可以反编译成可读代码

我有什么选择


编辑:我正在寻找一些只能反编译成汇编的东西。例如,Delphi不能像C#或Java那样进行反编译,但据我所知,Delphi正在消亡。

如果您的CPU能够看到代码并运行它,根据定义,一个足够有才华的人也可以这样做


但是,您可以通过模糊处理程序运行代码,使其变得更加困难。

这在逻辑上不是不可能的吗


如果您可以运行代码,您就可以获得由CPU执行的指令。在这一点上,您的算法是可读的,因为有些定义是可读的。

没有任何语言能够做到这一点。。因为这是不可能的,因为它总是可以被反向工程。。不过,如果你用brainfvck编码,很多开发人员都会哭。

所有代码都可以在汇编中读回。有人可以对你的应用程序进行反向工程,看看机器在做什么。

试着找一个模糊器。顾名思义,它混淆了代码,使逆向工程不再是一件小事

或者使用C/C++。这些可以拆卸,但仅此而已


当然,这就足以阻止那些不具备足够能力的人理解和逆向工程代码。

这与其说是选择正确的语言的问题,不如说是找到一种可以为您进行代码混淆的工具。没有什么是防弹的,但我们已经做出了努力来完成这类事情


参见Java代码模糊处理。

正如Dominic所说,如果您可以运行它,它可以被反编译

这就是说,我相信有一些工具会混淆编译后的代码,使人们更难反汇编、反转或分解注册过程

例如,我相信像Adobe和Microsoft这样的大公司使用这样的产品,是为了让人们更难分解和破解他们的程序

这就像安全或加密,甚至是你车/房子上的锁——有足够时间和资源的人可能会突破任何东西


您只需将曲线倾斜到足够大的程度,以使其对任何人都没有吸引力,从而使他们更容易达到更容易达到的目标。

您不能100%确定没有人能够阅读您的代码,但您可以让它变得非常困难。您可以加密代码并在运行时对其进行修改


例如,我还没有听说有任何成功的尝试对Skype进行反向工程

我将假设,因为您正在编写共享软件,并且您提到了一种注册算法,所以您希望保护您的软件免受绕过试用版限制的keygen或补丁的攻击

实际上,你能做的最多就是阻止。正如其他人提到的,有一些模糊处理技术可用,但它们不是预防性的。有一些商业软件打包器可用于压缩文件,使其最初无法读取。但是程序必须在某个时刻被解压,这样机器才能运行它,所以它仍然是可逆的

这几乎是你将看到的任何反反转技术的支柱。它必须在某个时候由机器解释。更多的现代包装商使用反调试技术来阻止更多的新手。但是这些技术很快就在流行的网站上被记录下来了。许多技术都只需要一个简单的调试器插件就可以绕过

我能想到的保护您的可执行文件不被任意反转的唯一方法是在您控制的服务器上运行整个程序,并通过管道将输出传递给用户。但这并不总是可行的


就你的语言选择而言,你可以在。我真的不知道它有多完整,但我相信其他一些人可以添加他们想到的语言。

我建议使用商业经济语言可以保护您的程序

如果你以消费者为目标,并将其定价为10美元,那么几乎所有人都会发现,与进入你的程序并对其进行反向工程相比,向你支付10美元会更容易

如果你的目标是公司,比如说定价为10000美元,那么让采购部门批准付款要比逆向工程代码容易得多。对于购买您产品的真正公司来说,运行未经许可的代码不值得冒审计风险

最后,保护代码的成本是什么?如果用汇编语言而不是C#语言编写程序,可能会产生更高的生产成本,同时减少逆向工程的机会。然而,这一成本是否超过了潜在的销售损失?这段时间能更好地为购买产品的人增加价值吗?一般来说,试图把你的产品卖给那些从不花钱买软件的人不是一种经济策略。

“我在寻找只能反编译成汇编的东西。”

尝试用汇编语言编写程序。这是最好的解决办法。

跟我说:“默默无闻不是安全。”


您最好使用硬加密算法(其中“硬”并不意味着“困难”,但“不是双向的;不容易可逆的”。

Delphi没有死亡,它还活着,而且很好

与社区一样,在。
您还可以在网站上看到更多的delphi项目、免费软件、共享软件和商业软件

因此,我认为Delphi是软件开发的一个很好的选择。无论是免费软件、共享软件还是商业软件

更新: 2011年9月1日发布。此版本添加了64位