我需要我的一个类不被混淆,我添加了all的SkipNamespace规则,但它仍然没有被跳过。
旁注:我必须关闭很多通用规则,这样我的应用程序就不会因混淆而被破坏。如果打开,下面显示为错误的大多数规则都会破坏我的应用程序。
旁注:任何混淆器建议(免费/便宜)。如果能找到一款能够以最少的选择“正常工作”的产品,那就太好了。要求:1)混淆,2)让我排除一类,3)程序仍然有效
稍后我会将完整路径更改为相对路径(一旦确定它从哪里运行):
<?xml version="1.0" encoding="utf-8" ?>
<Var name="HidePrivateApi" value="true" />
<Var name="KeepPublicApi" value="false" />
<Var name="RenameProperties" value="false" />
<Var name="RenameEvents" value="false" />
<Var name="RenameFields" value="false" />
<Var name="UseUnicodeNames" value="false" />
<Var name="HideStrings" value="false" />
<Var name="OptimizeMethods" value="false" />
<Var name="SuppressIldasm" value="false" />
<Module file="C:\Users\gerry\Documents\myproject\ProjectFolder\bin\x64\Release\net8.0-windows7.0\MyDll.dll">
<SkipNamespace name="MyNamespace.LeaveThisClassAlone" />
<SkipNamespace name="MyNamespace.LeaveThisClassAlone*" />
<SkipField type="MyNamespace.LeaveThisClassAlone" attrib="public" name="name" />
<SkipField type="MyNamespace.LeaveThisClassAlone" attrib="public" rx="Pub.*" />
<SkipMethod type="MyNamespace.LeaveThisClassAlone" attrib="public" rx=".*" />
<SkipMethod type="MyNamespace.LeaveThisClassAlone" attrib="family" rx=".*" />
<SkipType name="MyNamespace.LeaveThisClassAlone" skipMethods="true" />
<SkipType name="MyNamespace.LeaveThisClassAlone" skipFields="true" />
<SkipType name="MyNamespace.LeaveThisClassAlone" skipProperties="true" />
<SkipType name="MyNamespace.LeaveThisClassAlone" skipEvents="true" />
<SkipType name="MyNamespace.LeaveThisClassAlone" skipMethods="true" skipFields="true" />
<SkipType name="MyNamespace.LeaveThisClassAlone" skipStringHiding="true" />
<SkipProperty type="MyNamespace.LeaveThisClassAlone" name="name" />
<SkipProperty type="MyNamespace.LeaveThisClassAlone" attrib="public" rx="name\d" />
<SkipProperty type="MyNamespace.LeaveThisClassAlone" name="Event2" />
<SkipProperty type="MyNamespace.LeaveThisClassAlone" rx="Any.*" />
<SkipStringHiding type="MyNamespace.LeaveThisClassAlone" name="*" />
</Module>
<assembly name='$(MSBuildProjectName)' frameworkversion='v4.0' />
<Module file="$(InPath)\MyDll.dll" />
<referencepath path='C:\Windows\Microsoft.NET\Framework\v4.0.30319' />
<AssemblySearchPath path="C:\Windows\Microsoft.NET\Framework\v4.0.30319" />
哼,没关系。找不到我想要在 ILSpy 中隐藏的类,但序列化已开始工作。我正在使用 CsvReader,它不起作用,但在添加上面的所有跳过规则后,现在它可以工作了。不知道怎么做,但好吧。
无论如何,上面的混淆和我的程序仍然运行,所以我将把它留在这里作为其他人的例子。就我个人而言,我非常喜欢通过例子来学习。