是否有适用于Delphi 2007及以上版本的Delphi混淆器?

8

1
为什么会有人想要这样做呢?当用户运行应用程序时,他们肯定可以在.dfm文件中看到所有信息。 - David Heffernan
为什么不获取源代码并修补它呢? - Free Consulting
我想混淆包括过程名称在内的字符串。Pythia可以自动完成。 - user
3个回答

11

随着时间的推移,许多新的语言特性被添加。

由于没有正式的语法可用,因此对于工具供应商(包括 Embarcadero 自己),将 Delphi 语言解析器保持与 Delphi 编译器相同的水平变得非常困难。

这是工具供应商需要花费一些时间(对于 Delphi 泛型支持来说需要很长时间!)来更新他们的工具的原因之一,如果有更新的话。

您甚至可以在 Delphi 自身中看到这种情况的痕迹:

  • 结构面板经常出错
  • Delphi 建模和重构有时会失败
  • Delphi 代码格式化程序出现故障

Pythia 是我知道的唯一的本地 Delphi 语言混淆器。
您可以在他们的网站上询问他们是否计划推出新版本。

就个人而言,我几乎从不使用混淆器,理由如下:

  • 非混淆项目的反向工程已足够困难(竞争对手要反向工程需要很长时间,因此在第一次减少他们本来已经积累的工作量的机会几乎为零)
  • 在多项目解决方案中,它们的附加价值有限(基本上只隐藏内部或私有内容)
  • 它们使得错误调试生产代码变得过于繁琐

--jeroen


2
我不太能流利地用英语表达我的想法。关键是如果有人/竞争对手使用Dede或任何反编译器来打开我的程序,他们将得到无法阅读的无用字符串。我使用许多友好名称模块和许多外部模块,这就是为什么我需要Pythia。感谢您的信息。 - user
3
即使提供了可读的信息,竞争对手重做你所做的事情需要很长时间。与此同时,你可以继续以他们无法逆向工程的速度添加更多功能到你的应用中。因此,他们会进一步落后。 - Jeroen Wiert Pluimers
2
我在这里点个赞。我从来不明白为什么有人会费心去混淆他们的代码,因为即使开发者离开一段时间后再回来,他们也需要花费一些时间来理解自己的代码。我有一个公开可用的框架,大约有60,000行代码,尽管我已经断断续续地在上面工作了10年,但我仍然很难理解我写的一些代码以及为什么要写它们;-) - Misha

2
您可以尝试使用UPX(可执行文件的终极压缩器)。它将压缩资源,所有文本条目在未解压缩之前都是不可读的。

2
嗯,但是即使使用Olly,解包UPX也很容易。对于其他的打包工具,我不喜欢看到打包工具与杀毒软件之间的斗争。 - user

1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接