位置: 编程技术 - 正文

Unity 加密解密那些事(unity游戏加密)

编辑:rootadmin

推荐整理分享Unity 加密解密那些事(unity游戏加密),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:unity文件解密,unity数据加密,unity数据加密,unity pro程序加密,unity il2cpp加密,unity pro程序加密,unity pro程序加密,unity数据加密,内容如对您有帮助,希望把文章链接给更多的朋友!

解密无非就为了 修改游戏功能数据、提取游戏资源、加入自己想加的广告...加密就是保护游戏不被恶意修改,我经常看到有人说:”加什么密,你以为自己写的代码很NB?见不得人?“。我只想说,加密并不是不想让别人看到我的游戏逻辑代码,而是不想别人去恶意的修改自己做的游戏罢了...

Unity 加密解密那些事(unity游戏加密)

先说下关于Unity C#代码部分的加密(Android和IOS有时间再细说),很多人说混淆,虽然有几个混淆插件CodeGuard、CryptoObfuscator、de4dot...可以用用,但有混淆就有反混淆(de4dot基本都可以搞定),有加壳就有脱壳,有加密就有解密...加密只是提高了门槛提高了难度,而解密只是时间的长短而已。Unity下对C#保护措施并不是很多,加壳就别想了,混淆也有限制,混了和没混一样。 编译自己的Unity项目,找到 /Data/Managed/Assembly-CSharp.dll ,对它进行加密,可以自己写个小程序,把Assembly-CSharp.dll转换成字节流byte[],然后对byte[]加密。下面是一些常用的加密(效验)算法:* 散列:MD5、SHA、SHA3、RIPEMD、Tiger、Whirlpool、CRC、Adler* 对称:Base、DES、3DES、AES、RC、Rijndael、TripleDES、PBE、3-way、IDEA、MARS、Serpent、SAFER、Blowfish、Twofish、Tea、Skipjack、Camellia、Cast、Gost* 非对称:RSA、Elgamal、Diffie-Hellman、Rabin、ECDsa、Ecc若对以上算法不了解的可以参看下面两个开源加密类库(谷歌度娘也可以的) 有人说.net自带了安全类库,确实是在System.Security.Cryptography下有一些常用的算法,虽然没有上面的类库全,但足以平常使用。

其C#源码也在Mono开源项目中 位置在 /mcs/class/corlib/System.Security.Cryptography/ 若不想了解加密算法可乎略,直接引用里面的方法即可。如果有闲心的话可以写一个属于自己的加密算法...

声明:此篇文档时来自于【狗刨学习网】社区-unity极致学院,是网友自行发布的Unity3D学习文章,如果有什么内容侵犯了你的相关权益,请与官方沟通,我们会即时处理。

此处滤过Hook或是反汇编调试Mono加载Assembly-CSharp.dll的部分...接着找到 /mono/metadata/image.c 查看下面两个方法[code]csharpcode:MonoImage *mono_image_open_from_data_full (char *data, guint data_len, gboolean need_copy, MonoImageOpenStatus *status, gboolean refonly){ return mono_image_open_from_data_with_name (data, data_len, need_copy, status, refonly, NULL);}MonoImage *mono_image_open_from_data_with_name (char *data, guint data_len, gboolean need_copy, MonoImageOpenStatus *status, gboolean refonly, const char *name){ MonoCLIImageInfo *iinfo; MonoImage *image; char *datac; if (!data || !data_len) { if (status) *status = MONO_IMAGE_IMAGE_INVALID; return NULL; } datac = data; if (need_copy) { datac = g_try_malloc (data_len); if (!datac) { if (status) *status = MONO_IMAGE_ERROR_ERRNO; return NULL; } memcpy (datac, data, data_len); } image = g_new0 (MonoImage, 1); image->raw_data = datac; image->raw_data_len = data_len; image->raw_data_allocated = need_copy; image->name = (name == NULL) ? g_strdup_printf ("data-%p", datac) : g_strdup(name); iinfo = g_new0 (MonoCLIImageInfo, 1); image->image_info = iinfo; image->ref_only = refonly; image->ref_count = 1; image = do_mono_image_load (image, status, TRUE, TRUE); if (image == NULL) return NULL; return register_image (image);}第一个方法mono_image_open_from_data_full内实际调用了mono_image_open_from_data_with_name第二个方法mono_image_open_from_data_with_name的第一个参数char *data这个指针指向运行时Assembly-CSharp.dll的内存地址,可在该方法内添加或调用对data解密的算法,然后将解密后的data再赋给datac关于MonoImage这个结构体,它的定义是typedef struct _MonoImage MonoImage; 而_MonoImage这个结构体,它的定义在 /mono/metadata/metadata-internals.h 中最后就是编译Mono了,编译部分我就不说了自行参看官方说明该方法虽然是修改Mono内核,偏底层了些,但并不是破解不了,只是要比反混淆的难度高那么一丢丢...

在Unity下实现遮罩功能 在Unity下实现遮罩功能在做项目的时候,遇到一个[color=rgb(,,)!important就是在一个UI界面上面会随机生成一些gameObject,但是他们的出现时有一定范围的

Unity 2D打造《影之刃》新版本新武侠新玩法 u3d是一个灵活且高性能的开发平台,用于制作富有创意的3D和2D智能互动游戏。以其一次创作,多平台部署的性能使开发者们能够将内容发布到所有最热

AppGame项目的根目录 对于一个游戏,基本都会经历这样的几种状态UpgradeState(版本检测,升级)、LoginState(账号登陆,服务去的选择)、BootState(游戏启动、资源的预加载)、Hal

标签: unity游戏加密

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

上一篇:一个治疗Unity的Prefab强迫症患者的小招(Prefab变成红色的问题)

下一篇:Unity 2D打造《影之刃》新版本新武侠新玩法(unity 2danimation)

  • 房地产预缴增值税计算方式
  • 工程承包公司账务处理
  • 车船税退税办理时限
  • 不得税前扣除的贷款利息
  • 所得税税负率的计算公式中营业收入含不含税
  • 卖家电税是多少
  • 住房贷款专项扣除
  • 外经证预交几个点
  • 会计法对填制审核会计凭证有哪些规定
  • 坏账的处理方法包括
  • 高温补贴能以别的形式发放吗
  • 资产重组过程中资产转出的税收问题
  • 公司代垫个税会计分录
  • 用于本企业职工的福利应当征收消费税吗
  • 公司闲置房租出去违法吗
  • 建筑公司收取的管理费如何入账
  • 没有对公账户的公司怎么注销
  • 自然人独资属于个体工商户吗?
  • 外出什么意思?
  • 专门从事股权投资的合伙企业投资收益 个人所得税
  • 外贸企业增值税发票需要认证吗
  • 酒店试菜费用会计分录
  • 非同一控制下合并报表编制
  • 材料未到,货款尚未支付
  • 联想y400怎么装win10
  • 关联交易认定标准税务
  • 建筑业总产值的统计执法检查内容
  • 企业免征增值税证明怎么打印
  • 公司上市前缩股
  • PHP:imagecolorat()的用法_GD库图像处理函数
  • 权益的定义特征
  • 法国西南部城市
  • 小企业会计准则调整以前年度费用分录
  • 注册公司时认缴和实缴时间怎么填
  • 报表上如何把账号删除
  • 锡特f8
  • vuecli3创建项目的过程
  • zen框架
  • thinkphp saveall
  • 递延收益会计科目核算什么内容
  • 延期交房补偿协议
  • 微信小程序小小驯龙师破解版
  • mkv视频制作
  • vue实现回车登录
  • 关于低值易耗品的说法中不正确的是
  • 存货跌价准备科目余额在哪方
  • 材料暂估入库的依据有哪些
  • 织梦不更新了
  • 全年多少钱就得交税
  • 普通发票和增值税发票的税率
  • Oracle、MySQL和SqlServe三种数据库分页查询语句的区别介绍
  • 企业的项目有哪些
  • 化验委托书
  • 清算期间发生的利息支出应计入
  • 小规模公司购买水泥怎么入账
  • 小商户怎么打发票
  • 企业退款给个人多久到账
  • 以物易物方式销售货物的增值税处理
  • 外汇申报要在几天之内
  • 营业收入包括哪些内容?
  • 在Linux系统中安装VS
  • 英雄联盟支持win7
  • 安装 centos
  • windows8的ie浏览器在哪
  • win7旗舰版u盘在电脑上读不出来
  • certutil - decode/encode BASE64/HEX strings.Print symbols by HEX code
  • cocoscreator动画
  • cocos creator开发文档
  • python数据结构教程
  • 文档对象模型DOM主要作用是
  • 查看项目层级结构怎么查
  • 借助FileReader实现将文件编码为Base64后通过AJAX上传
  • python django运行
  • substrate框架原理
  • 顺丰收取关税合理吗
  • 广西国家税务局于红林
  • 河北省国家税务局长简介
  • 江苏国税电子税务局开票流程
  • 陕西省地方税务局公告2016年第1号
  • 山西省税务局网站系统维护公告
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设