Unity3D 代码混淆

Unity3D 准备在打包Apk之前进行代码混淆 哪位老哥如果有经验指点一下 或者是有工具可以提供
(自己之前尝试了Obfuscator 和CodeGuard 插件 因为打包Apk的时候已经做的了资源加密 所以用这两个工具混淆的时候 找不到Assembly-CSharp.dll
报错 所以现在想找一个在打包之前可以混淆代码并保证可以运行的工具尝试一下)

使用 CREATE VIEW 语句来创建一个视图,视图是一种虚拟的表,它的内容由一个查询来定义。您可以使用 JOIN 条件来将两个或多个表的数据合并在一个视图中,也可以使用 UNION 操作符来将两个或多个表的数据垂直拼接在一个视图中,但是要求表的列数和数据类型相同。
对于您的具体需求,我建议您使用 JOIN 条件来创建视图,因为这样可以保持原始表的结构和关联关系,并且可以根据不同的表选择不同的时间范围。您可以参考以下的示例代码:

-- 创建视图
CREATE VIEW vw_combined AS
-- 从A表中选择4月到6月的列
SELECT A.1, A.2, A.3, A.Apr, A.May, A.Jun
-- 从F表中选择7月到3月的列
, F.Jul, F.Aug, F.Sep, F.Oct, F.Nov, F.Dec, F.Jan, F.Feb, F.Mar
-- 连接两个表
FROM A JOIN F
-- 连接条件
ON A.1 = F.1 AND A.2 = F.2 AND A.3 = F.3
-- 筛选条件
WHERE A.Identifier = GETDATE() - 32;

-- 查询视图
SELECT * FROM vw_combined;
不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 以下回答来自chatgpt:

    对于Unity3D代码混淆,我目前无法提供具体的解决方案。我建议您在Unity社区或相关论坛中寻求帮助,或者联系代码混淆工具的开发者寻求支持。他们应该能提供适用于Unity3D的代码混淆工具或解决方案。

    同时,代码混淆是一项复杂的任务,并且可能会对应用的性能和稳定性产生影响。在使用代码混淆工具之前,请务必进行彻底的测试,以确保您的应用在混淆后仍能正常运行并满足预期的功能。

    如果您有其他问题,我将很乐意为您提供帮助。


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^

代码混淆是防止代码被反编译的一种有效方法。通过对代码进行混淆,可以让反编译者难以理解代码的逻辑和结构,从而防止代码被反编译。Unity3D中可以使用插件来实现代码混淆,比如Unity3D Obfuscator、Dotfuscator等。

使用第三方混淆工具Uglify或者ConfuserEx

Unity3D自带的Obfuscator工具可以对代码进行混淆,可选择的混淆选项包括符号名混淆、字符串加密、控制流扰动等。
或者使用ProGuard、DexGuard工具等工具,都可以。具体的使用方法,自行上网学习查找。

Unity代码混淆-最简单快捷的插件
可以参考下
https://blog.csdn.net/qq_40028144/article/details/127242672

基于new bing部分指引作答:
在Unity3D中进行代码混淆可以增加代码的安全性,防止代码被逆向工程。以下是一些常用的代码混淆工具和技术,你可以根据自己的需求选择适合的方法:

1、Dotfuscator: Dotfuscator是一个流行的代码混淆工具,支持Unity3D项目。它可以通过重命名、删除无用代码、修改控制流等方式混淆代码。你可以从PreEmptive Solutions的官方网站获取更多信息和试用版本。

2、Unity ProGuard: Unity ProGuard是一个基于ProGuard的代码混淆工具,专门为Unity3D项目设计。它可以对代码进行重命名、删除无用代码、优化等操作。你可以在Unity Asset Store上找到该插件。

3、Unity3D Obfuscator: Unity3D Obfuscator是一个专门为Unity3D项目设计的代码混淆工具。它可以对C#代码进行重命名、控制流修改、字符串加密等操作。你可以从Unity Asset Store上获取该插件。

4、ConfuserEx: ConfuserEx是一个免费的、开源的代码混淆器,支持多种.NET平台,包括Unity3D。它提供了多种混淆技术,可以通过混淆名称、控制流、字符串等方式保护代码。你可以在GitHub上找到ConfuserEx的源代码和使用说明。

在使用这些工具之前,建议先备份你的项目,以防出现意外情况。此外,需要注意的是,代码混淆可以增加代码的安全性,但并不能完全阻止逆向工程。对于特别敏感的代码,建议考虑其他安全措施,如服务器验证等。

希望这些信息能对你有所帮助!

在Unity3D中进行代码混淆时,确保在打包APK之前可以正常运行的工具有很多选择。以下是两个较常用的代码混淆工具供您参考:

  1. ProGuard:ProGuard是一种广泛使用的Java字节码优化和混淆工具,在Android开发中也经常被用于代码混淆。您可以使用ProGuard对Unity项目进行代码混淆,并在打包APK之前应用混淆后的代码。需要注意的是,Unity的C#脚本需要先转换成Java字节码,再使用ProGuard进行混淆。

  2. Dotfuscator:Dotfuscator是一种商业化的代码混淆工具,由PreEmptive Solutions提供。它支持.NET平台,因此可以用于混淆Unity中的C#脚本。通过Dotfuscator,您可以在打包之前对脚本进行混淆,以增加代码的安全性。

这些工具混淆代码的原理类似,都是通过重命名类和方法、删除未使用的代码和添加混淆指令等方式,使逆向工程的难度增加。确保在使用这些工具前备份好您的项目,以便在需要时进行还原。

以下答案参考newbing,回答由博主波罗歌编写:
在Unity3D中进行代码混淆可以提高代码的安全性,但也会增加调试和维护的难度。下面是一些常用的代码混淆工具或技术:

  1. Obfuscator工具:你提到已经尝试过Obfuscator插件,但遇到了问题。通常,混淆插件在打包资源时可能会遇到一些问题。你可以尝试使用其他的Obfuscator工具,例如Dotfuscator、Resharper等。

  2. ProGuard:ProGuard是一个流行的Java代码混淆工具,也可以用于Unity3D项目中的C#代码混淆。你可以将Unity3D导出的Android项目使用ProGuard进行代码混淆。要使用ProGuard,你需要将Unity导出的Android项目中的proguard.cfg文件配置好,然后运行ProGuard进行混淆。

  3. 自定义混淆方案:你可以使用自定义的技巧和方法对代码进行混淆。例如,重命名变量、函数和类名,删除或替换不必要的代码等。这种方法可能需要一些手动工作,但可以根据你的具体需求进行定制。

需要注意的是,代码混淆并不能完全阻止代码被逆向工程分析,它只能增加破解的难度。对于非常重要的代码,你可能还需要考虑其他安全措施,如重要算法和密钥的保护、加密等。
如果我的回答解决了您的问题,请采纳!

  1. Unity ProGuard:Unity官方提供的代码混淆工具。它基于ProGuard,专门为Unity项目设计,支持保护IL2CPP和Mono编译器生成的代码。您可以在Unity的Asset Store中获取此工具并按照官方文档进行配置和使用。

  2. Dotfuscator:是一款功能强大的.NET代码混淆工具,支持Unity3D项目。您可以使用Dotfuscator的Community Edition或商业版本进行代码混淆。请参考PreEmptive Solutions的官方文档以了解如何使用Dotfuscator来混淆Unity项目的代码。

  3. ConfuserEx:这是一个免费的开源代码混淆器,支持混淆.NET程序集(包括Unity3D项目)。您可以在GitHub上找到ConfuserEx项目,并按照其说明进行配置和使用。