我想试试这个程序,但是我不知道怎么用。
我已经在作者的网站https://github.com/yck1509/ConfuserEx上搜索过了,但是这个网站上的示例对于像我这样的编程新手来说还不够清楚。
所以我把我的问题贴在这里,希望有人能告诉我如何用简单的英语和一些例子来使用它。这将是非常伟大和感激的。
发布于 2014-10-03 23:55:35
从这里获取最新的二进制文件版本:https://github.com/mkaring/ConfuserEx/releases
在命令行(Confuser.CLI.exe)中使用:
Confuser.CLI.exe myProjectFile.crproj项目文件示例:
<?xml version="1.0" encoding="utf-8"?>
<project baseDir="c:\" outputDir="c:\Confused" xmlns="http://confuser.codeplex.com">
<rule preset="none" pattern="true">
<protection id="anti debug" />
<protection id="anti dump" />
<protection id="anti ildasm" />
<protection id="anti tamper" />
<protection id="constants" />
<protection id="ctrl flow" />
<protection id="invalid metadata" />
<protection id="ref proxy" />
<protection id="rename" />
<protection id="resources" />
</rule>
<module path="ICSharpCode.AvalonEdit.dll" />
<module path="ICSharpCode.Decompiler.dll" />
<module path="ICSharpCode.NRefactory.dll" />
<module path="ICSharpCode.NRefactory.CSharp.dll" />
<module path="ICSharpCode.NRefactory.VB.dll" />
<module path="ICSharpCode.TreeView.dll" />
<module path="ILSpy.BamlDecompiler.Plugin.dll" />
<module path="ILSpy.exe" />
<module path="ILSpy.SharpDevelop.LGPL.dll" />
<module path="Mono.Cecil.dll" />
<module path="Mono.Cecil.Pdb.dll" />
</project>

配置文件格式:https://github.com/yck1509/ConfuserEx/blob/master/docs/ProjectFormat.md
用于图形用户界面(ConfuserEx.exe):

项目选项卡中的
发布于 2018-02-15 03:03:15
此答案涵盖了以下情况:(A)多个项目可能相互引用,以及(B)您希望在Visual Studio安装项目中自动执行模糊处理。
1)在每个项目上直接在项目的文件夹中添加一个Confuser.crproj文本文件。在这个文件夹中,你可以看到"bin","ob","resources“等文件夹。没有需要将这些文件附加到visual studio中的解决方案中。文本文件应如下所示:
<?xml version="1.0" encoding="utf-8"?>
<project baseDir="obj\Release" outputDir="..\Release" xmlns="http://confuser.codeplex.com">
<rule preset="none" pattern="true">
<protection id="anti debug" />
<protection id="anti dump" />
<protection id="anti ildasm" />
<protection id="anti tamper" />
<protection id="constants" />
<protection id="ctrl flow" />
<protection id="invalid metadata" />
<protection id="ref proxy" />
<protection id="resources" />
</rule>
<module path="MyLibrary.dll" />
<probePath>..\..\bin\Release</probePath>
</project>将MyLibrary.dll替换为项目的输出。(如果.exe是可执行文件,请将其替换为.dll。)
ConfuserEX为相对路径选择了不同的起点,这就是为什么路径在文件中看起来很奇怪的原因。
这一步的关键是对每个项目的"obj“输出进行模糊处理。这是为了帮助你的Windows安装项目选择模糊的版本。
2)在每个项目的后期构建事件中,添加一个后期构建事件,如下所示:
if "$(ConfigurationName)" == "Release" $(SolutionDir)..\ConfuserEX\Confuser.CLI.exe $(ProjectDir)Confuser.crproj第一个条件是只有在Release中构建时才进行模糊处理。在这里,您需要调整路径以匹配您的Confuser.CLI.exe的路径。我的ConfuserEX文件夹就在解决方案的根文件夹旁边。
3)在你的安装项目中,我们需要解决的问题是确保打包能够识别出你的模糊版本。安装程序有一些模糊的逻辑来决定从哪个文件夹中选取每个程序集。我们将强制它挑选正确的。为此,您必须:
(3a)将所有项目添加为"Project Output",这将确保您的"obj“文件夹中的模糊文件可以添加到包中。
(3b)检查安装项目的“检测到的依赖项”部分。每当您看到某个项目生成的依赖项时,请转到其属性并将其标记为Exclude=True。这可以确保包中的模糊版本不会因为推理过程而被非模糊版本替换。
发布于 2014-11-17 10:38:12
对于其他正在为解决问题而苦苦挣扎的人:我下载了它,但主程序缺少dnlib。您可以单独下载dnlib,将其复制到dnlib文件夹中,然后进行编译。
这应该适用于大多数人,但是对于我的exe,它在任何exe上都会给出一个“不正确的dos格式”错误。我想可能是因为我更新到了vs2015和4.5.3 (.net 5或6,或者他们现在想叫它什么)。我想也许就是这样了。但事实并非如此(最高编译版本是4.5)。
看一看谷歌,我的假设是它无法更新文件,所以花了1个小时以上的时间将你的类中的元组转换为.net 4元组。并将所有项目更新到4.5。
如果可以,你们需要检查github分支并点击下载,然后编译..它应该从站点编译,但没有。我确信这是一个很棒的产品。只是有点粗糙,因为它不是为初级用户设计的。也许你可以只有一个EXE的链接?这可能会有所帮助,这样人们就不需要处理编译问题了。
顺便说一句,真的很好的东西,看起来像是做了很多东西,即使是付费的也不只是学习上的一点曲线。
另外,它看起来像是一个RuntimeEnvironment.GetSystemVersion()[1] == 4,它可能应该是(通过一些解析) RuntimeEnvironment.GetSystemVersion()[1] > 3.9,所以你会得到4和4.5
**更新。更新到4.5,拖放停止工作,仍然可以像你上面描述的那样工作。是使用4.5.3,但您没有使用任何新功能。
我最终得到的是,我将在稍后编辑它,以说明它是否有效。https://onedrive.live.com/redir?resid=88D92E4D40C0593C%21105
和上面的一样。
https://stackoverflow.com/questions/24154502
复制相似问题