dll unity3d 加密_unity3d dll加密 - CSDN
  • 如果稍微关注过这方面知识的朋友,应该知道Unity3D做出来的项目是非常容易被反编译的,被反编译后你的所有资源和代码都将会...首先第一篇,我会简单的说明一下怎样在Unity3D里面使用dll动态链接库,然后第二篇会说...
    如果稍微关注过这方面知识的朋友,应该知道Unity3D做出来的项目是非常容易被反编译的,被反编译后你的所有资源和代码都将会毫无遮掩的呈现出来。由于.net本身没什么加密的措施,所以我们一般都是使用混淆代码的方式来对程序进行一定的加密。
    接下来2篇博客,阿赵将会简单的讲一下我自己在Unity3D的程序加密做法。首先第一篇,我会简单的说明一下怎样在Unity3D里面使用dll动态链接库,然后第二篇会说明怎样对dll进行混淆。
    

    开始第一篇的内容:
    首先,我们需要新建一个类库项目,可以使用Visual Studio或者Monodevelop来做。我这里是使用vs2012来创建:
    这里写图片描述
    这里写图片描述

    选择好项目类型、写好项目名称。

    新生成的项目里面默认有一个Class1类
    这里写图片描述

    可以通过在解决方案资源管理器里面进行重命名改成自己想要的类名,比如我这里改成了Math3D
    这里写图片描述

    然后写一个简单的静态方法在里面。这里我写了个最简单的加法(Add)。也可以不写静态方法,写出普通的public方法,用的时候new对象出来调用该方法也可以。这和正常的C#编程没区别。
    这里写图片描述

    写好之后,在资源管理器里面选择“生成”,那么在项目的bin/debug 里面就会看到dll文件,比如我这个额项目就是AzhaoDll.dll
    这里写图片描述

    接下来在Unity3D里面创建你需要的项目,把刚才的dll文件随便放到项目的Assets文件夹里面。关于这个dll文件的存放位置,网上有些人说是必须放在插件文件夹里面,其实是不需要的,放在任意位置它都能被识别出来。当然,按照良好的项目路径习惯,我们建立一个专门放插件的文件夹来存放dll文件,也是合理的。
    然后在Unity3D里面创建一个C#脚本,写一行简单的代码来调用我们刚才写的Math3D.Add方法。
    这里写图片描述
    这时会发现Math3D类不能识别,我们using AzhaoDll命名空间
    这里写图片描述
    然后在Unity3D里把脚本挂到摄像机上,运行,可以看到打印出正确的结果了,这就证明了dll已经被成功调用了。
    这里写图片描述
    回顾刚才我们做的一些小细节,在类库项目的Math3D类里面。我们默认的使用了AzhaoDll命名空间。那么假如我们不使用命名空间,或者使用其他的命名空间行不行?答案是可以的,命名空间可以任意的更改,如果不用命名空间,那么在调用的时候就不需要using,如果使用了其他命名空间,对应的using其命名空间就行了。
    以下试试把命名空间删掉:
    这里写图片描述

    那么在Unity3D里面调用就直接可以用了:
    这里写图片描述
    运行的结果也是正常的:
    这里写图片描述
    当然,不太建议不使用命名空间,这样做一个说明,是因为unity3D本身创建的脚本默认没有使用命名空间,只是想说明如果不想麻烦,直接把Unity3D没有命名空间的脚本直接拿来编译也是可以的。
    再次回顾细节,刚才我们使用的是原生的C#,假如我们需要在类库项目写调用Unity3D本身功能的方法怎样办呢?
    在Unity3D的安装目录Editor\Data\Managed里面,找到UnityEditor.dll和UnityEngine.dll两个文件。
    这里写图片描述
    然后在类库项目里面添加引用,把这两个dll添加进来
    这里写图片描述

    这里写图片描述

    这时候,我们就可以在类库项目里面using UnityEngine来使用Unity3D的方法了,比如我们这里简单写了个CreateGameObject方法,生成一个名字为“CreateByDll”的gameobject。
    这里写图片描述

    生成dll,放回Unity3D项目里,我们就可以调用这个方法:
    这里写图片描述
    运行,看到这个叫做“CreateByDll”的物体生成出来了。
    这里写图片描述

    通过以上的说明,我们会发现其实生成自己的dll在Unity3D里面用是很简单的事情。我们还可以添加其他自己写好的类进类库项目,然后生成dll来使用。
    这里写图片描述

    最后说一下注意事项了。
    刚才生成的dll在Unity3D编辑器里面基本上都是能用的,但不一定能通过编译。有可能在编译成exe或者apk等时会报错。
    需要注意的是,类库项目使用的.Net Framework版本。我自己的尝试是,使用.Net 4.0以上版本发布的dll,在Unity3D里面会编译不通过。所以我们可以用2.0或者3.0之类的版本来发布。
    这里写图片描述
    还有一些情况是某些现成的dll动态库是使用完整的.Net2.0来发布的,所以我们在编译的时候有可能需要选择完整的.Net 2.0来发布。
    这里写图片描述

    到了这一步,我们就可以把Unity3D的整个代码文件夹里面所有的脚本剪切到类库项目里面生成dll,然后放回Unity3D项目里面。这样别人就不能直接的编辑我们项目里面的代码了。
    不过dll本身是不安全的,别人可以很容易看到里面的内容。下一篇博客我们再说明怎样去给dll做混淆。

    展开全文
  • 行业背景 Unity3d引擎应用的行业越来越多,游戏、...Virbox Protector Unity3D加密工具, 是北京深思数盾自主研发的程序保护工具,可快速加密保护 Unity3D 游戏引擎开发的程序,对 Unity3D 脚本 C# 代码进行加密,防

    行业背景

    Unity3d引擎应用的行业越来越多,游戏、城市规划、娱乐、艺术与教育方面、军事与航天工业、室内设计、房产开发、工业仿真、在文物古迹、Web3d/产品/静物展示、地理等等行业都在应用。那么有关Unity3D程序的安全问题必须提上日程,辛辛苦苦研发的应用一旦被破解盗版,损失将不可估量。

    解决方案

    Virbox Protector Unity3D版加密工具, 是北京深思数盾自主研发的程序保护工具,可快速加密保护 Unity3D 游戏引擎开发的程序,对 Unity3D 脚本 C# 代码进行加密,防止逆向和反编译。 

    Virbox Protector在操作上非常简单,直接将项目文件夹拖入到加壳工具中,点击保护即完成了加密保护。保护方式主要是对 Assembly -CSharp.dll 进行加密 ,可以保护 Unity 的主要代码逻辑不被反编译,最大程度保护软件开发者合法权益, 同时 DSProtector 工具可以对 Unity 软件中的 .resS 和 resources 等资源文件进行加密防止软件或游戏等资源被非法提取。

    加密效果

    代码保护前:

    webp

     

    代码保护后:

     

    原始Unity3D资源文件反编译效果,如图所示: 

    DSProtector工具对resS、assets和resource资源文件进行保护后的反编译效果,如图所示:webp

    支持平台

    Virbox Protector支持全平台的程序保护:Windows、Linux、macOS、Android、Arm。兼容性及稳定性不用开发者担心。加密后的程序不会影响性能。

    公司简介

    深思数盾是一家专注于软件加密及授权产品的公司,主要产品服务有:VirboxLM授权平台(云锁、软锁、加密锁),软件保护工具:Virbox Protector(代码加密/混淆/虚拟化等)、Virbox 反黑引擎(反调试、内存保护等)、Virbox Compiler(安全编译器)等。帮助企业重点解决四大难题:1、防止软件源代码泄漏;2、保护软件未经授权被分拆、篡改和针对软件的逆向工程;3、根据不同场景,实现软件授权的有效交付;4、监控产品运行状况,推动收入增长。

    快速试用:

    试用版下载地址:http://dl.download.virbox.com/vps/virboxprotector_trial_windows.exe

    申请试用:https://shell.virbox.com/apply.html

     

     

     

    展开全文
  • Unity dll 使用及加密

    2020-06-04 19:44:02
    首先参考Unity3D游戏开发之C++插件接入 有所不同的地方,vs2017 新建的方式 下一步 其它的一样 注意 [DllImport("Native4Unity")] Native4Unity 是导出的 dll文件名 加密DLL 使用.NET Reactor ...

    unitydll 引入

    /Applications/Unity/Unity.app/Contents/Managed/UnityEngine

    https://docs.unity3d.com/Manual/UsingDLL.html

    生成c++ dll

     

     

    首先参考 Unity3D游戏开发之C++插件接入

    有所不同的地方,vs2017 新建的方式

    下一步

    其它的一样

    注意

    [DllImport("Native4Unity")]    Native4Unity 是导出的 dll文件名

     

    加密DLL

    使用 .NET Reactor

    https://www.eziriz.com/reactor_download.htm

    成功后会多一个  _Secure 后缀的文件夹

     

     

     

    展开全文
  • 简单Unity 3D游戏加密dll文件提取

    千次阅读 2018-09-02 14:25:36
    大多数游戏都是使用Unity 3D做的,我们逆向分析主要分析\assets\bin\Data\Managed中的Assembly-CSharp.dll文件,当我们用.NET Reflector 或者dnSpy 打开Assembly-CSharp.dll文件时,有时候会发现什么信息也看不到,...

    大多数游戏都是使用Unity 3D做的,我们逆向分析主要分析\assets\bin\Data\Managed中的Assembly-CSharp.dll文件,当我们用.NET Reflector 或者dnSpy 打开Assembly-CSharp.dll文件时,有时候会发现什么信息也看不到,在前面呢有一个红色的x证明被加密了。但是我们在模拟器或者手机上运行时,却能完美运行。

    这里写图片描述

    也就是说,我们也可以在apk运行时使用一些修改器,将他的内存提取出来,然后再用工具(get_dll_from_dumped_bin.exe)将这些bin文件转换为dll文件。(发现已经有人把工具上传了,就不挂链接了)。我找到了一款被加密U3D游戏,我们在他正常运行时,用gameguardian(https://gameguardian.net/download)导出他的内存。
    这里写图片描述

    导出以后,我们把这些bin文件传到PC上,然后将这些bin文件与get_dll_from_dumped_bin.exe放在同一目录下,运行get_dll_from_dumped_bin.exe后,即可自动转化。

    这里写图片描述

    这里会看到有9个dll文件,这个时候我们就可以将文件大小与我们在apk中的dll文件作对比,即可找到正确的dll文件。

    展开全文
  • Unity3D资源加密解决方案

    千次阅读 2018-09-13 20:02:41
    基于深思云授权平台,有一套Unity3D代码及资源加密保护方案,可通过Virbox Protector加壳工具对代码及资源进行加壳,再配合精锐5加密锁或者云锁及软锁,可达到极高的安全性,可防止代码被反编译及资源被拷贝。...
  • 之前一篇文章阿赵已经简单的介绍了怎样把自己写的代码打包成dll动态链接库,然后在Unity3D里面用。那么接下来的事情似乎就很简单了,我们在Unity3D里面写脚本,到最后完成时,把核心的代码剪切出去打包成dll文件再放...
  • unity3d 调用加密狗的dll

    千次阅读 2013-03-13 10:14:33
    using UnityEngine; using System.Collections; using System.Runtime.InteropServices; public class what : MonoBehaviour { [DllImport ("ETDogCheck")] private static extern int et_FindToken (string et99p
  • Unity编程笔录--Unity Android加密dll

    千次阅读 2016-08-05 19:50:28
    前言: 以前写过Unity加密apk的方法,但是那只是非常初级的,现在使用了不同的方法,... http://www.luzexi.com/unity3d/游戏架构/前端技术/2015/04/11/Unity3D-重新编译Mono加密DLL/   正文: 1:下载必要工具 mo
  • 腾讯Unity3D手游 dll加密分析

    万次阅读 2016-12-05 22:45:27
    TX有很多用Unity做的手游,比如《天天飞车》《我叫MT2》都对dll进行了加密,而且这些游戏对dll加密方式是一样的 ...Unity3D 游戏加密解密那些事 就以Assembly-CSharp.dll为例,来分析一下TX解密dll
  • Unity3D DLL加密

    2018-05-05 16:31:55
    网上搜了很多教程 就这篇成功了 转载一下原文 http://blog.51cto.com/snailwalk/1745970Unity3D打包android应用程序时,如果不对DLL加密,很容易被反编译,导致代码的泄露。通常的做法是通过加密DLL或者对代码进行...
  • 这里假设我们在Unity3D里面写的代码抽象成这样一个Test类,里面包含了公开和私有的变量,有自带的Start方法、Update方法和OnGUI方法,还有public、private和protected方法。虽然说用抽象类代表了项目里面实际的类,...
  • Unity3D-重新编译Mono加密DLL 分类: 游戏开发2015-08-12 14:57 324人阅读 评论(0) 收藏 举报 Unity3D-重新编译Mono加密DLL。安卓应用总是让人头疼,游戏遭到破解与反编译是研发的人最不愿意看到的...
  • 如果稍微关注过这方面知识的朋友,应该知道Unity3D做出来的项目是非常容易被反编译的,被反编译后你的所有资源和代码都将会毫无遮掩的...首先第一篇,我会简单的说明一下怎样在Unity3D里面使用dll动态链接库,然后第二
  • Unity3d 加密 Assembly-CSharp.dll (Android平台) 全记录

    万次阅读 热门讨论 2016-10-23 19:01:57
    Unity3d 是基于 Mono的,我们平时写的 C# 脚本都被编译到了 Assembly-CSharp.dll ,然后 再由 Mono 来加载、解析、然后执行。Mono 加载 Assembly-CSharp.dll 的时候就是读取文件到内存中,和平时读取一个 游戏资源 ...
  • Unity3d DLL脚本通用解密方法

    万次阅读 2017-03-05 12:59:23
    网上已经有很多文章讲解过Unity3d脚本DLL 解密,基本方法原理都差不多,就是通过HOOK或者调试下断mono_image_open_from_data_with_name这个函数拿到解密后的DLL。这些方法都需要比较专业的知识(Hook或者过反调试),...
  • 之前一篇文章阿赵已经简单的介绍了怎样把自己写的代码打包成dll动态链接库,然后在Unity3D里面用。那么接下来的事情似乎就很简单了,我们在Unity3D里面写脚本,到最后完成时,把核心的代码剪切出去打包成dll文件再放...
  • Unity代码加密unity资源加密原理

    千次阅读 2019-06-16 07:39:58
    Virbox提供Unity加密代码及资源的产品,保护代码防止反编译,保护资源被提取提供Unity加密代码及资源的产品,保护代码防止反编译,保护资源被提取Unity3D代码加密背景Unity3D主要使用C#语法和开源mono运行开发商的...
  • U3D 防止破解修改。DLL加密以及mono解密。。PC和Android平台下对Unity3D应用进行加密解密全程操作,详细实录
  • 我把Unity加密分为三个方向 每个方向是完全不同的内容,同时又是不得不防的不同方面 加密方向: 1.C# dll 加密 2.数据加密(模型,纹理贴图,UI) 3.阻断安装(加密狗,序列号) 本文主要讨论的是第2...
  • 精锐5加密锁支持Unity3D代码及资源保护,并提供授权方案产品简介可使用Virbox Protector加壳工具对Unity3D代码进行加密Unity3D使用开源mono C#语法,代码会编译到Assembly-CSharp.dll。可使用深思加壳工具Virbox ...
1 2 3 4 5 ... 20
收藏数 602
精华内容 240
关键字:

dll unity3d 加密