[Unity] Obfuscator(3.9.x)最佳实践[1]

1 篇文章 0 订阅

RuntimeMapMaker3D-Pro在这里插入图片描述


该文章为Obfuscator插件中文文档


Buttons

对于更强的混淆,考虑以编程方式分配按钮点击:

using UnityEngine;
using UnityEngine.UI;
using Beebyte.Obfuscator;
public class Buds : MonoBehaviour
{
	public Button Button;
	public void Start()
	{
		Button.onClick.AddListener(CodedClick);
	}
	//Assigned in the Start() method
	private void CodedClick() //This gets obfuscated
	{
		Debug.Log("Coded Click");
	}
	// Assigned through the inspector within On Click () +
	// so requires [SkipRename] when obfuscating public mono methods
	[SkipRename]
	public void InspectorClick() //Visible
	{
		Debug.Log("Inspector click");
	}
 }

在此示例中,“CodedClick”将被混淆


Animation Clips

  以与按钮相同的方式,考虑以编程方式添加这些使用AnimationClip.AddEvent(AnimationEvent evt)。

  否则,如果通过 Unity Inspector 分配,请记住使用 [SkipRename] 注释方法


方法

  更多的方法会导致更好的混淆。 遵循良好的软件实践,例如 S.O.L.I.D. 不仅会提高代码的可维护性,而且更难进行逆向工程。


检查您的保护

  使用assembly检查器来验证混淆和/或调整混淆器选项以提高其质量非常重要

  有许多不同的assembly检查员可用。 示例包括 DotPeek(由 JetBrains 提供且免费)和 ILSpy(开源)。

  您可能需要先从最终版本中提取 DLL,您可以在线查找资源来帮助解决此问题。


IL2CPP

  • 查看混淆效果的一种简单方法是在文本编辑器中查看 global-metadata.dat 文件并搜索方法名称
  • 指示混淆器混淆 IL2CPP 构建不需要额外的步骤
  • 请注意,根据 Unity 版本和构建目标,Library/ScriptAssemblies/ 中的程序集不会被混淆。 要查看混淆的表格,请查看 Library/PlayerDataCache/Data/Managed/ 中的表格,或者
  • 您还可以查看 Classes/Native/Bulk_Assembly-CSharp_0.cpp 以查看实际的混淆。

Asset Store 发布/创建库

  如果您打算混淆一个库以供其他人在他们的项目中使用,那么为了避免给您的用户带来麻烦(并可能有助于您的项目层次结构),最好在您创建自己的 [Skip]、[SkipRename] 等版本时 需要他们。

  为此,您应该创建一个类,例如:

using System;
namespace MyCompany.Obfuscator {
	[AttributeUsage(AttributeTargets.Class | AttributeTargets.Interface | AttributeTargets.Struct |
	AttributeTargets.Method | AttributeTargets.Field | AttributeTargets.Parameter |
	AttributeTargets.Event | AttributeTargets.Enum | AttributeTargets.Property |
	AttributeTargets.Delegate)]
	public class SkipAttribute : System.Attribute {
		public SkipAttribute() {
		}
	 }
 }

  然后将此属性指定为等效属性,就像使用 Beebyte.Obfuscator.SkipAttribute 一样:
在这里插入图片描述
然后将它们排除在混淆之外:
在这里插入图片描述


混淆器版本

  建议始终使用最新的可用混淆器版本。 向后兼容性始终是鼓励用户经常更新的优先事项。 混淆器对其版本号使用一种语义版本控制:

Obfuscator v[Major].[Minor].[Patch]

  • [Major]
    升级到新的主要版本可能需要额外的配置步骤才能使您的构建成功。 然而,这可能仅在使用某些可选功能时才需要。 主要构建不一定向后兼容。

  • [Minor]
    此版本包含新功能和可能的错误修复

  • [Patch]
    此版本包含错误修复。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Unity 2019.4.x中文文档是指为Unity 2019.4.x版本提供的中文版文档。这份文档是Unity官方提供的开发指南,旨在帮助开发人员使用Unity游戏引擎来创建游戏和应用程序。 Unity 2019.4.x中文文档覆盖了各个方面的内容,包括Unity界面的介绍,项目管理,场景编辑,游戏对象的创建与编辑,材质和纹理的应用,光照和阴影的处理,物理引擎的使用,动画的创建与控制,音频的处理,以及用户界面的设计等等。 这份文档提供了详细的说明和示例,以帮助开发人员了解和掌握各个功能和工具的使用方法。通过阅读文档,开发人员可以学习如何使用Unity的各种组件和系统来实现自己的游戏或应用程序的需求。 同时,Unity 2019.4.x中文文档也提供了大量的编程接口文档,涵盖了Unity中的各种类和函数的用法和说明。这些接口文档使开发人员能够更好地理解Unity引擎的内部结构和工作原理,以便更加高效和灵活地进行开发工作。 总之,Unity 2019.4.x中文文档是Unity官方提供的重要参考资料,对于想要使用Unity引擎进行游戏和应用程序开发的开发人员来说,是一份不可或缺的指南和学习资料。 ### 回答2: Unity 2019.4.x中提供了全面的中文文档支持,为用户提供了更方便、直观的学习和使用体验。 首先,Unity的中文文档涵盖了各个方面的内容,包括引擎的各个模块、功能的使用、编辑器的操作指南等。无论是初学者还是有一定经验的开发者,都能够在中文文档中找到自己需要的信息,帮助他们更好地了解和使用Unity。 其次,Unity的中文文档以详细的说明和示例来解释每个功能和概念。无论是脚本编程、场景编辑、粒子系统还是动画制作,中文文档中都会提供清晰的步骤和例子,帮助用户理解和掌握各种功能。 另外,Unity的中文文档还会根据官方版本进行及时的更新,保持与最新版本的Unity保持同步。这意味着用户可以始终获得最新的特性和改进的详细解释,帮助他们更好地利用Unity的最新功能进行开发。 最后,Unity的中文文档还提供了丰富的教程和案例,使用户可以通过实际操作来学习。这些教程和案例涵盖了不同类型的游戏和应用开发,供用户参考和借鉴。用户可以通过这些实例来加深对Unity的理解,并且可以根据自己的实际需求进行修改和扩展。 总的来说,Unity 2019.4.x中文文档为用户提供了全面、详细的学习和使用指南,帮助他们更好地掌握Unity的各种功能和技术。这些文档的存在使得Unity成为了一个广受欢迎的开发工具,为用户创造了更好的开发环境。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值