提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
翻译|行业资讯|编辑:李显亮|2019-12-11 13:37:33.150|阅读 217 次
概述:在大多数情况下,使用动态类型的应用程序在Dotfuscator保护它们之后可以正常工作。这是因为动态类型通常解析为Dotfuscator输入中不包含的程序集中定义的类(因此不进行重命名)。
# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>
C#中的动态类型提供了其他静态类型语言无法提供的灵活性。自C#4.0(.NET 4.5)引入以来,Dotfuscator与希望了解有关混淆类型如何影响动态类型的客户进行了合作。
Dotfuscator(点击下载最新版)是一个.NET的Obfuscator。它提供企业级的应用程序保护,大大降低了盗版、知识产权盗窃和篡改的风险。Dotfuscator的分层混淆、加密、水印、自动失效、防调试、防篡改、报警和防御技术,为世界各地成千上万的应用程序提供保护。
使用动态类型时,编译器会对其成员方法(和/或属性)生成反射调用。这些反射调用使用方法名称的字符串表示形式在运行时调用该方法。混淆后,此字符串必须与方法名称匹配,以避免破坏运行时行为。
在大多数情况下,使用动态类型的应用程序在Dotfuscator保护它们之后可以正常工作。这是因为动态类型通常解析为Dotfuscator输入中不包含的程序集中定义的类(因此不进行重命名)。这包括来自第三方程序集的类型,来自非托管程序集的类型,以及内置类型-int,bool,string。另一方面,如果动态类型解析为在Dotfuscator的输入程序集中定义的类型,则需要设置Dotfuscator重命名排除项以保留那些编译器生成的反射调用。
可参考以下示例:
动态类型解析为MyClass,如我们的代码中所定义。然后,它从MyClass调用MyMethod。编译完此代码后,请注意,编译器将MyMethod的字符串表示形式加载到要通过反射加载的堆栈上。从MSIL:
如果对这些代码进行了混淆而没有重命名排除,我们将遇到运行时错误:
Unhandled Exception: Microsoft.CSharp.RuntimeBinder.RuntimeBinderException: 'a.a' does not contain a definition for 'MyMethod' at CallSite.Target(Closure , CallSite , Object , String ) at System.Dynamic.UpdateDelegates.UpdateAndExecuteVoid2[T0,T1](CallSite site, T0 arg0, T1 arg1) at a.a() in C:\SampleCode\Dynamic\Dynamic\Program.cs:line 25
为了避免此运行时错误,我从重命名中排除了“ MyMethod”。
如果我们从MyClass加载属性,则可能会应用相同的想法。在示例的其他地方,有一个动态类型可以解析为内置类型。即使在运行时在int和string之间切换,此代码也可以在没有其他Dotfuscator配置的情况下正常运行:
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@pclwef.cn
通过提供强大的3D CAD数据访问工具并适用于桌面、移动和Web的高级环境3D可视化发动机,HOOPS在提升造船设计和制造流程的效率方面发挥了重要作用。
HOOPS Luminate在汽车行业中的应用具有广泛的潜力和深远的影响。它通过提供高效的3D可视化、虚拟装配与拆解、性能分析、客户定制等功能,帮助汽车制造商在设计、生产和销售过程中提升效率、降低成本并提高产品质量。
在不断发展的软件开发世界中,使工具和框架与最新的平台版本保持同步至关重要,欢迎查阅~
全球航运业对国际贸易至关重要,全球 90% 以上的商品通过海运运输。准确监控和控制这些集装箱的移动对于维持高效的供应链至关重要。手动输入集装箱号码是这一程序的关键部分,它带来了相当大的挑战,例如人为错误和效率低下。
Dotfuscator是一款.NET混淆器和压缩器,防止您的应用程序被反编译。
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@pclwef.cn
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢