问题标签 [obfuscar]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
vb.net - 混淆配置跳过枚举值的问题
我有一个带有内部日志记录模块的类库,它Enum
在命名空间级别使用一个来定义日志级别(调试、跟踪、错误等)。我在日志记录文本中使用这些枚举值的字符串转换。枚举被标记Friend
(即,内部的,不公开的)。
当我最初运行混淆时,日志缺少枚举描述,我最终发现 Obfuscar 合理地混淆了枚举值,所以我添加了一个SkipEnum
指令:
(更新:更正SkipEnum
到SkipEnums
上面。我试过的代码有后一个元素,所以这不是问题。)
根据 Obfuscar 地图文件,这似乎没有做任何事情:
所以我尝试使用SkipType
with skipEnums
:
这有点奏效;它隐藏了枚举的名称(“LogLevel”),但没有隐藏枚举值本身。
所以我尝试SkipType
了skipFields
:
这行得通。
但是......当我检查生成的程序集时,以前隐藏/内部的命名空间MyCompany.MyLibrary.Logging
被暴露了,我希望它保持隐藏。
这是一个错误吗?难道我做错了什么?虽然我认为该产品非常好,但 Obfuscar 的 doco 相当简陋,所以我不得不猜测其中的一些。
obfuscar - 如何解决混淆 Dll 的错误?
当我尝试混淆使用 Visual Studio 开发的 dll 时,我收到以下错误消息:
处理过程中出错:无法获取 CreoParamLm 的类型定义,版本=1.0.0.0,文化=中性,PublicKeyToken=f4e4fd84ef410cf6 无法清理池
我没有找到任何用谷歌搜索这种错误类型的信息,你知道吗?提前致谢。
fody-costura - 在 Fody.Costura 合并文件之前执行混淆
如何在 Fody.Costura 合并文件之前执行混淆,因为合并的文件没有被混淆,使用 Fody.Costura 压缩或不使用它。
我已经为 obfuscar 下载了https://github.com/obfuscar/example.git项目示例,然后我通过 nuget 安装了 Fody 和 Fody.Costura,但是如果我使用 ILSpy 项目检查它,输出示例不会被混淆。
https://github.com/icsharpcode/ILSpy(ILSpy项目下载压缩文件并查看 dll 代码) https://github.com/G4224T/Fody-Costura-Decompress(解压 fody costura 文件)。
我的混淆配置是
在 fody costura 我试过
和
我想要使用这个项目来混淆和合并文件的任何选项,因为它是免费的,谢谢大家
c# - 在构建后步骤中调用 Obfuscar
我正在开发一个 C# WPF 项目,我需要一些混淆。我发现 Obfuscar 看起来很有前途,使用 nuget 和构建后事件似乎是一个可靠的解决方案。所以我已经安装了 nuget 包,并添加并调整了 obfuscar.xml 文件,使其能够正常工作。
但是,构建后命令是指$(Obfuscar)
无法识别的宏。现在,当我构建项目时,出现以下构建错误:
命令“obfuscar.xml”以代码 9009 退出。
请注意第一个引号后的空格:$(Obfuscar)
显然无法以某种方式解决。我尝试了文档和其他网站上描述的所有步骤,包括将宏放在引号内,但我无法让它工作。
- 编辑 -
我所做的: - 安装了 Obfuscar nuget - 添加了带有基本配置的 obfuscar.xml 文件 - 添加了构建后事件 - 尝试构建
我在构建后事件方面所做的尝试:
$(Obfuscar) obfuscar.xml
命令“obfuscar.xml”以代码 9009 退出。
"$(Obfuscar)" obfuscar.xml
命令“”“obfuscar.xml”以代码 9009 退出。
我尝试构建并运行示例项目,并且效果很好。我已将示例项目中的构建后事件(不是 xml 文件)复制粘贴到我的项目中,但这只是给出了相同的结果。
我也不明白 Visual Studio 如何可能知道什么$(Obfuscar)
意思或如何将其解析为 Obfuscar 可执行文件的路径。我是否需要在某个地方进行某种配置,还是某种特殊的黑魔法应该可以工作?
-- 编辑 2 --
我现在可以通过将Obfuscar可执行文件从 nuget 文件夹复制到我的 PATH(现在为 C:\Windows)中的文件夹作为“obfuscar.exe”并简单地使用 post-build command 来让它工作obfuscar obfuscar.xml
。我之所以这么说,是因为实际上使用 nuget 而不是复制的可执行文件是因为现在我没有自动更新。现在,当一个新版本出来时,我将不得不手动复制/粘贴它。我想我现在必须将它添加到自述文件中,直到出现更好的解决方案。
obfuscar - asp.net core 3.1 的混淆器
在 ASP.NET Core 3.1 应用程序中,obfuscar.xml 中的给定路径是正确的,但无法找到程序集/无法解析程序集:
构建错误:
iis - 将 .NET Core APP V2.2 托管到 IIS 错误 500
我最近尝试过混淆 .NET core v2.2 项目的混淆工具,该项目由 Kestrel 成功运行,但不在 IIS 上运行,但是,它在没有混淆的情况下在 IIS 上运行。我看到错误代码 500 作为响应,但没有任何详细信息。
我已经下载了 .NET Core Hosting 包并检查了日志,但没有关于错误的详细信息。
任何帮助找出问题,或者如何显示详细的错误?
c# - Obfuscar 2.2.28 抛出 ResolutionException
Obfuscar 2.2.28 为混淆项目抛出 ResolutionException:
我确实更改了一些混淆属性(添加更多要混淆的枚举),然后这个错误开始发生。
我混淆的项目是针对 .NET Framework 4.6.2。
更新: 我也尝试过使用 2.2.25 和 2.2.26 版本,结果是一样的。不幸的是,没有日志文件,所以很难看出是什么导致了问题。
更新 2: 我在我的(大型)项目中将其缩小到一个特定的枚举。当我从混淆中排除该枚举时,混淆运行正常。当我混淆该枚举时,会引发异常。情况如下。有问题的枚举位于完全混淆的库中。但是,枚举也用于单元测试。带有单元测试的程序集也是混淆的一部分(我想在交付的实际混淆的库上运行我的单元测试),但其中的测试类没有被混淆。这意味着只有在完全混淆的库中定义的类/枚举的引用才应该在测试程序集中更新。当我从单元测试中删除此枚举的使用时,混淆也再次起作用。
xamarin - Xamarin 表单的混淆
我正在使用 Visual Studio for Mac(社区版)开发 Xamarin.Forms 应用程序。我能够使用ILSpy反编译 Android 应用程序的源代码
为了混淆源代码,我使用了 Obfuscar并按照https://docs.obfuscar.com/tutorials/xamarin.html中的步骤进行操作
- 下面是 Xamarin.Android 项目结构
- 下面是里面的配置
obfuscar.xml
- 以下更改在 Android.csproj 中完成
当项目以Release
存档和反编译模式构建时,使用 ILSpy 仍可以以纯文本形式看到源代码。
我需要帮助为 Xamarin.Forms 项目正确配置混淆器
visual-studio - 关于 Obfuscar 应用程序使用
大家好:我正在学习在使用 Visual Studio 2019(C# 或 VB.Net)制作的应用程序中使用这个非常棒的 Obfuscar 2.2.31。我做了一些测试,我喜欢结果,但我想防止它加密我作为模型占用的类以创建通用列表。我还想排除环境变量(MyPathFile)的加密。最后,我正在使用 NPOI 读取 excel 文件,如何将其排除在加密之外?
我一直在测试文档中的以下示例:
SkipField type="Full.Namespace.And.TypeName
,
enter code here
SkipType name="Full.Namespace.And.TypeName2,
在此处输入代码SkipType name="Full.Namespace.And.TypeName3
,
enter code here
SkipMethod type="Full.Namespace.And.TypeName3 等。`
但我不太确定这意味着什么:TypeName、TypeName2、TypeName3 等。
我将非常感谢任何帮助。
.net-core - .NET Core 5.0:Obfuscar 以代码 123 退出
我的配置
我的后期构建活动
构建输出
2>MYApplication -> D:\MYServer\MYApp\bin\Release\net5.0-windows\MYServer.dll 2>文件名、目录名或卷标语法不正确。2>D:\MYServer\MYApp\MYApplication.csproj(23,5): error MSB3073: The command "if Release == Release "C:\Users\VVSCPP.nuget\packages\obfuscar\2.2.31\build.. \tools\Obfuscar.Console.exe” obfuscar.xml” 退出,代码为 123。 2>完成构建项目“MYApplication.csproj”——失败。