可以对Smart Assembly 7+的字符串进行模糊处理吗?

问题描述

我计划使用Smart Assembly 7+来模糊我的.NET C#库。 但是,当我在一些论坛上浏览时,发现甚至有一些程序可以对受Smart Assembly保护的DLL进行模糊处理,尤其是像 de4dot 这样的程序。

因此,我尝试使用de4dot对程序进行模糊处理,而我的大部分逻辑都成功地反编译了,这令我感到惊讶。但值得庆幸的是,这些字符串并未反编译。

它们采用Class24.getString_0(5050)

的形式

如果字符串不能被任何反混淆器正确反编译,则足以保护我的核心逻辑。但是我很疑惑,也许我没有正确使用反混淆器,甚至还有一些方法可以对字符串反混淆(但我尝试对字符串运行反混淆器命令,如repo Wiki中所述)。

基本上我的问题是,我可以确定市场上的任何反混淆器程序都无法反编译被SmartAssembly混淆的字符串。

此外,也欢迎对混淆.NET库的任何好的建议。

谢谢大家!

解决方法

为了使您的代码运行,计算机必须理解它。没有办法解决。如果CLR可以理解您的代码,则消除混淆器也没有理由也无法理解您的代码。

此外,计算机比人类愚蠢得多。如果计算机能够理解您的代码,那么人类肯定会

保护代码的典型方法是:

  • 不要给客户您的代码。在您自己的计算机上运行它,并授予他们访问权限。 (这就是“ Google方法”。)

  • 为客户提供一台您可以100%控制并预安装代码的计算机。 (这就是“ PlayStation方法”。)

  • 不与罪犯做生意。复制代码几乎到处都是非法的。在一些国家/地区,包括某些最大的市场(例如美国),规避代码中的保护是非法的。对代码进行反向工程 可能是合法的,但仅在非常严格的情况下。 (例如,在欧盟,仅出于互操作性的目的,并且仅当您拒绝以合理且无歧视的条件提供互操作性所需的信息时,逆向工程才是合法的。)

  • 为您的客户提供竞争对手提供的额外服务,即使他们正在窃取您的代码,也不会或无法提供。对于许多公司而言,“拥有可以起诉的人”这一事实已经足以从原始供应商那里购买原始软件了。罪犯是懒惰的,这就是为什么他们是罪犯。他们将永远无法像您一样深入地了解问题领域,这仅仅是因为他们懒得投入工作,因此他们将永远无法以最快的速度提供增强,咨询,支持或错误修复。尽可能精确。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...