【发布时间】:2017-02-13 13:21:58
【问题描述】:
我使用 DotfuscatorCLI 和 Visual Studio 2015 Update 3 Post Build 事件命令混淆了 .Net DLL。它似乎已成功混淆,因为在该命令之后没有出现错误。
命令如下:
dotfuscatorcli.exe /q /p=SourceDirectory="$(TargetDir)\",SourceFile=$(TargetFileName) "$(ProjectDir)Dotfuscator.xml"
这里是 Obfuscator.xml
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<!DOCTYPE dotfuscator SYSTEM "http://www.preemptive.com/dotfuscator/dtd/dotfuscator_v1.1.dtd">
<dotfuscator version="1.1">
<propertylist>
<property name="SourceDirectory" value="This Path Will Be Replaced By Visual Studio" />
<property name="SourceFile" value="This Filename Will Be Replaced By Visual Studio" />
</propertylist>
<trigger>
<filelist>
<file dir="${SourceDirectory}\" name="${SourceFile}" />
</filelist>
</trigger>
<output>
<file dir="${SourceDirectory}\Dotfuscator\" />
</output>
</dotfuscator>
现在,当我在另一个项目中引用该 DLL 并尝试访问其公共成员时;我无法再访问它们。就好像它们没有在该 DLL 中定义/公开,并且它们在智能感知中也不可用。
如果我在对象浏览器中查看该 DLL,它会显示具有一些奇怪名称的类,例如h、I、m、n 等
为了使用该 DLL,我是否在这里遗漏了什么?
我们将不胜感激任何回应、提示或解决方案。
【问题讨论】:
-
公共类型和成员不应被混淆。通常混淆器知道......你在用什么?
-
另外,不要只是链接到另一个帖子,让我们去那里弄清楚....链接是可以的,但在您的 here 中提供实质性细节问题主体也是如此。
-
我已经更新了问题并编写了我正在使用的命令。如果需要任何其他信息,请告诉我。
-
你有研究过如何使用dotfuscator吗?我用谷歌搜索并很快找到了这个:preemptive.com/images/stories/Dotfuscator/Excluding_Types.html 和这个:preemptive.com/images/stories/Dotfuscator/…
-
我也用谷歌搜索过,并关注了 MSDN 上的一篇文章,我也会检查你的链接。这里是我使用的链接:msdn.microsoft.com/en-us/library/hh977082(v=vs.107).aspx
标签: c# dll dotfuscator