位置: 编程技术 - 正文

Unity3D项目程序加密1——在Unity3D里使用自己的dll(unity项目怎么运行)

编辑:rootadmin

推荐整理分享Unity3D项目程序加密1——在Unity3D里使用自己的dll(unity项目怎么运行),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:unity3d项目源码,unity3d项目源码,unity3d工程,unity3d简单游戏项目,unity3d工程,unity3d 编程,unity3d 编程,unity3d 程序,内容如对您有帮助,希望把文章链接给更多的朋友!

Unity3D做出来的项目是非常容易被反编译的,被反编译后你的所有资源和代码都将会毫无遮掩的呈现出来。由于.net本身没什么加密的措施,所以我们一般都是使用混淆代码的方式来对程序进行一定的加密。接下来2篇博客,简单的讲一下我自己在Unity3D的程序加密做法。首先第一篇,我会简单的说明一下怎样在Unity3D里面使用dll动态链接库,然后第二篇会说明怎样对dll进行混淆。开始第一篇的内容:

更多内容请访问【狗刨学习网】 Studio或者Monodevelop来做。我这里是使用vs来创建:

选择好项目类型、写好项目名称。新生成的项目里面默认有一个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项目程序加密1——在Unity3D里使用自己的dll(unity项目怎么运行)

那么在Unity3D里面调用就直接可以用了:

运行的结果也是正常的:

当然,不太建议不使用命名空间,这样做一个说明,是因为unity3D本身创建的脚本默认没有使用命名空间,只是想说明如果不想麻烦,直接把Unity3D没有命名空间的脚本直接拿来编译也是可以的。再次回顾细节,刚才我们使用的是原生的C#,假如我们需要在类库项目写调用Unity3D本身功能的方法怎样办呢?在Unity3D的安装目录EditorDataManaged里面,找到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做混淆。

更多内容请访问【狗刨学习网】

背包系统(二) 背包系统(二)7、拖入两个物品预设体到子里面,并为其添加数量8、修改物品脚本,实现两个物品可以交换//重写OnDragDropRelease方法protectedoverridevoidOnDra

unity3d游戏开发之 游戏贴图、模型基本规范(Q&A) 一个游戏角色的好坏的贴图可以说起了%的作用。对于面数比较低的角色而言游戏角色的大部分细节都是靠贴图来表现的。Q游戏的贴图在尺寸上有些什

unity3d游戏开发之 游戏贴图、模型基本规范(Q&A) 一个游戏角色的好坏的贴图可以说起了%的作用。对于面数比较低的角色而言游戏角色的大部分细节都是靠贴图来表现的。Q游戏的贴图在尺寸上有些什

标签: unity项目怎么运行

本文链接地址:https://www.jiuchutong.com/biancheng/373020.html 转载请保留说明!

上一篇:unity游戏之37游戏王自强:手游留存永远比ROI重要(unity 3a游戏)

下一篇:背包系统(二)(背包设备)

  • 城建税减半从什么时候开始
  • 基本户如果没有资金往来
  • 收取职工工会会费收据
  • 餐饮业税负上升有什么原因
  • 科目错一题扣几分
  • 税屋网官网房屋
  • 预缴增值税项目编号填写错误怎么办
  • 销售货物分期付款怎么确认收入
  • 外贸企业出口销售通常采用
  • 企业外汇买卖业务流程图
  • 甲供材料税金如何结算
  • 生产企业出口货物可享受免税并退税
  • 商场采用联营方式的原因
  • 劳务公司购买设备怎么做账
  • 公司注销时应付职工薪酬怎么处理
  • 购置股权账务处理流程
  • 自查增值税补缴怎么处理
  • 营改增后银行增值税如何缴纳
  • 原材料投资入股协议约定价值公允价值
  • 增值税进项税额转出是什么意思
  • 收到子公司分红需要交所得税吗?
  • 补去年的税款怎么做账
  • 房地产教育培训
  • 增值税专用发票怎么开
  • 企业所得税如何缴纳
  • 委托加工材料收回后的入账价值
  • win11怎么设置最佳能效模式
  • 如何预防计算机病毒的方法
  • 营运资金主要包括什么
  • 广告联系电话
  • ServiceLayer.exe - ServiceLayer是什么进程 有什么用
  • php数组函数输出《咏雪》里有多少"片"字
  • removed.exe - removed是什么进程 有什么用
  • PHP:pcntl_wexitstatus()的用法_PCNTL函数
  • 结算劳务外包的工作内容
  • 代销方式是什么意思
  • 施工单位代建收费标准
  • php memory_get_usage
  • 收外汇怎么做账报税
  • 一点分享案例
  • 主营业务收入借贷方向
  • yolo object detection
  • 普通发票冲红后还会有税吗
  • 转账支票适用范围
  • 我们现在收到的礼物
  • 退股东股本账务处理
  • 申请专利的费用主要包括
  • 利润表的编制方法和步骤累计数和好结账前余额
  • 增值税加计抵减政策10%和15%
  • 预收账款和应收账款可以合并吗
  • 金税盘服务费如何抵扣
  • 运输费属于生产成本还是制造费用
  • 应收账款逾期什么意思
  • 营改增后建筑业怎么开票
  • 工程结算与工程施工
  • 分类法与品种法相比,最大的区别是
  • 销售方开红字发票需要什么信息
  • 不是企业职工能否挂靠企业交社保
  • 银行利息增值税发票申请单怎么填
  • 个体工商户和公司的优缺点
  • 物业服务企业管理
  • 会计准则 职工福利
  • sql语句中截取字符串
  • mysql ERROR 1044 (42000): Access denied for user ''@'localhost' to database
  • win10预览版21277
  • LINUX操作系统的主要组成部分有
  • win7系统连接VPN失败时提示错误代码721的故障分析及解决方法
  • win7修改系统版本
  • hc off line什么意思
  • windows 8.1将“计算机”(This PC)更名为“此电脑”
  • win8笔记本电脑投屏方法
  • win8的计算器在哪里
  • 360对win7支持多久
  • jQuery Validation PlugIn的使用方法详解
  • js的模块化可以怎么做
  • js制作网页制作步骤
  • javascript如何禁用
  • 西安税务稽查局举报中心
  • 新疆哪个城市最有发展前景
  • 张家港港区国税局地址
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设