Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net 模糊器&;技术支持_.net_Obfuscation - Fatal编程技术网

.net 模糊器&;技术支持

.net 模糊器&;技术支持,.net,obfuscation,.net,Obfuscation,我们正在考虑在将某些代码发布给客户之前对其进行模糊处理。我们想知道它对技术支持的影响。客户能否为我们提供有意义的堆栈跟踪,或者它们是否也会被混淆 我期待着听到你的经验。提前感谢。如果堆栈上的方法在您的版本中被模糊化,您将在任何堆栈跟踪中获得模糊化的方法名称 如果您在代码中添加任何内容来帮助您找出所涉及的方法,那么潜在的黑客可以利用这些信息更好地了解您的代码 一种常见的策略是仅混淆部分代码,包括(但不限于)执行许可证检查的部分。如果你只是混淆了许可证检查,那么你很容易找到需要黑客注意的部分。你会得

我们正在考虑在将某些代码发布给客户之前对其进行模糊处理。我们想知道它对技术支持的影响。客户能否为我们提供有意义的堆栈跟踪,或者它们是否也会被混淆


我期待着听到你的经验。提前感谢。

如果堆栈上的方法在您的版本中被模糊化,您将在任何堆栈跟踪中获得模糊化的方法名称

如果您在代码中添加任何内容来帮助您找出所涉及的方法,那么潜在的黑客可以利用这些信息更好地了解您的代码


一种常见的策略是仅混淆部分代码,包括(但不限于)执行许可证检查的部分。如果你只是混淆了许可证检查,那么你很容易找到需要黑客注意的部分。

你会得到混淆的堆栈跟踪。但是模糊处理程序可以生成映射文件,将模糊名称映射为真实名称。。您必须将这些映射文件保存在一个安全的地方,并且可以在需要时使用它们再次“清除”堆栈跟踪

就技术支持而言,您可以创建一个简单的web界面,技术支持人员可以在其中粘贴堆栈跟踪。这样,只有web服务器需要访问映射文件,才能恢复原始堆栈跟踪

以下是两个链接,解释使用dotfuscator模糊器的过程:


这通常不是一个问题,因为大多数混淆器提供了将堆栈跟踪反混淆回其原始跟踪的能力。

我们使用。问题是,当使用最强的模糊处理技术时,堆栈跟踪无法被消除。Bithelm使用完全签名重命名(某种重载诱导,只是更好)。发生的情况是,许多方法最终使用相同的名称,但返回类型不同(这在C#中无法实现,但在CLR中是可以的)。堆栈跟踪中不显示返回类型!因此,实际上不可能使用最强的模糊处理来消除堆栈跟踪


我们问了和你相同的问题,我们讨论了它,我们得出结论,实际上我们更喜欢更好的模糊处理。在提供技术支持时,堆栈跟踪实际上不如只有最终用户才能提供的其他数据有用。“请确切地告诉我你在做什么?”:)

我想知道公司是否可以保留源代码模糊处理的模糊日志,以便内部使用,以了解错误发生的真实地点。请参阅日产的评论。您的工具应该能够清除堆栈跟踪。。。如果你把它作为一个正确编码的文件。许多模糊处理程序使用Unicode字符作为类和方法名,使其在屏幕上特别难以读取。如果只提供一个屏幕截图或非unicode文本文件,则很难返回。我有时会创建一个用于记录错误的web服务,以确保程序提交诊断错误所需的所有内容。这将是获得正确(unicode)编码的堆栈跟踪的一种安全方法。如前所述,大多数工具中都可以使用去阻塞堆栈跟踪(例如),我有时会创建一个web服务来接收崩溃报告。用户可以提交“提交错误报告”按钮,并且可以传输堆栈跟踪和其他有关程序状态的有用信息,而不存在堆栈跟踪以错误文本格式编码的风险(因为许多混淆器使用Unicode字符作为类/方法名)。