当前位置: 首页 > wzjs >正文

邯郸资讯seo公司如何优化

邯郸资讯,seo公司如何优化,临汾网络推广,漯河哪里做网站【开源】Unity 商业级引擎源码加密混淆过马甲包 Il2cpp global-metadata加密方案 Android加固&IOS加固 git仓库地址 github: https://github.com/badApple001/Il2cppEncrtypt Android版 使用方法 导入Unitypackage到项目中 输出Android工程打包 即可 验证加密是否成功…

【开源】Unity 商业级引擎源码加密混淆过马甲包 Il2cpp global-metadata加密方案 Android加固&IOS加固

git仓库地址

github: https://github.com/badApple001/Il2cppEncrtypt

Android版

使用方法
导入Unitypackage到项目中 输出Android工程打包 即可
在这里插入图片描述

验证加密是否成功

使用Il2CppDumper 检查是否能被破解

视频教程
b站视频地址

Unity Il2Cpp Apk 源码反编译

PC版本

相对于Android版本 PC版本打包需要一些小小的改动

第一步。先进入Unity安装目录 找到il2cpp加载文件

{unity安装目录}\Editor\Data\il2cpp\libil2cpp\vm

要先备份一下 MetadataLoader.cpp文件
要先备份一下 MetadataLoader.cpp文件
要先备份一下 MetadataLoader.cpp文件

第二步

然后将UnityPackage目录下的 MetadataLoader.cpp文件替换Unity安装目录下的MetadataLoader.cpp文件

第三步

打包即可

iOS版本

iOS版本暂时不开源哈,不过聪明的你 一定能从我开源的源码里找到办法哈

global-metadata.dat是什么?

在Unity引擎中,global-metadata.dat是一种元数据文件,包含了编译后的IL代码所需要的所有信息,包括类型信息、方法信息、字段信息等等。它是一种二进制文件,通常保存在Unity工程的Data文件夹下的il2cpp目录中。

global-metadata.dat的作用

global-metadata.dat文件的作用是为了在运行时将IL代码转换为C++代码。IL2CPP(Intermediate Language to C++)是一种Unity引擎的构建选项,它可以将C#代码编译为IL代码,然后再将IL代码转换为C++代码,从而提高游戏的性能和安全性。

在转换过程中,global-metadata.dat文件是非常重要的,它包含了编译后的IL代码所需要的所有信息。IL2CPP将global-metadata.dat文件中的元数据信息与转换后的C++代码进行关联,使得C++代码可以在运行时正确地调用和访问IL代码。

global-metadata.dat的底层原理

在Unity引擎中,global-metadata.dat文件的生成是通过IL2CPP工具链完成的。IL2CPP将编译后的IL代码解析成一个个结构体,这些结构体包含了IL代码的类型信息、方法信息、字段信息等等。然后,IL2CPP将这些结构体存储到一个二进制文件中,即global-metadata.dat文件。

在运行时,IL2CPP会将global-metadata.dat文件加载到内存中,并将元数据信息与转换后的C++代码进行关联。当C++代码需要访问IL代码的类型信息、方法信息、字段信息等等时,IL2CPP会根据global-metadata.dat文件中的元数据信息,从内存中获取相应的信息,并将其转换为C++代码。

反编译和修改

Global-metadata.dat文件也可以被反编译,以获取游戏项目的元数据信息。这对于游戏开发者和研究人员来说是非常有用的,因为他们可以在不需要访问代码的情况下了解游戏的结构和实现细节。不过需要注意的是,修改Global-metadata.dat文件可能会导致游戏的运行出现问题或不正常,因此除非有必要,一般不建议修改。

下方我们看下Global-metadata.dat在Unity当中的调用。 我们看到MetadataCache的Initialize()接口调用了这个文件,而这个接口的调用时机就是游戏启动的时候,然后Initialize接口就会解析这个文件的信息,然后缓存起来供后续使用。

Global-metadata.dat文件的安全性

由于Global-metadata.dat文件包含了游戏项目的元数据信息,因此它也包含了一些敏感信息,如类名、方法名等。这些信息可以被黑客用来进行反编译和破解游戏,因此需要注意保护文件的安全性。

一般来说,Unity引擎会将Global-metadata.dat文件加密,以防止它被直接访问和修改。只有在运行时,引擎才会将文件解密并加载到内存中。这种加密方式可以一定程度上保护文件的安全性,但并不能完全防止黑客的攻击。因此,游戏开发者还需要在代码层面上进行安全措施,如加密敏感信息、限制代码访问等

加密方案

unity打包后 global-metadata.dat 去哪了?
输出Android工程路径\unityLibrary\src\main\assets\bin\Data\Managed\Metadata\global-metadata.dat

如何监听unity打包事件? 输出Android工程路径怎么获取 ?

扩展IPostprocessBuildWithReport接口

案例


public class MyCustomBuildProcessor : IPostprocessBuildWithReport
{int IOrderedCallback.callbackOrder { get { return 0; } }void IPostprocessBuildWithReport.OnPostprocessBuild( BuildReport report )
{//输出打包后的Android工程路径Debug.Log( report.summary.outputPath );
}
}

拿到global-metadata.dat后怎么加密

使用异或特性对二进制文件进行加密


std::string Encrypt(std::string content, std::string secretKey)
{for (UINT i = 0; i < content.length(); i++){content[i] ^= secretKey[i % secretKey.length()];}return content;
}std::string Decrypt(std::string data, std::string secretKey)
{for (UINT i = 0; i < data.length(); i++){data[i] ^= secretKey[i % secretKey.length()];}return data;
}

加密案例

调用EncryptionCode函数并传入Android工程路径 对global-metadata文件进行加密混淆

案例加密方式图解
在这里插入图片描述

char* encrtypt_file(char* src, size_t& file_size) {//随机密钥长度uniform_int_distribution<int> key_distrib(130, 140);int kl = key_distrib(s_randomEngine);//随机密钥的数组指针unsigned int* p_passwordArr = new unsigned int[kl];for (int i = 0; i < kl; i++){p_passwordArr[i] = get_random_uint();}//加密区长度 单位:int指针int klsize = (kl + 1) * sizeof(uint32_t

文章转载自:

http://2pJ4QMR9.twhwm.cn
http://HIWwSxU5.twhwm.cn
http://ZxGQOeah.twhwm.cn
http://RtyZKqVF.twhwm.cn
http://3POEmcFn.twhwm.cn
http://7XScXamt.twhwm.cn
http://Il04yDuz.twhwm.cn
http://aYNFYUId.twhwm.cn
http://upPEt2Z4.twhwm.cn
http://mLjcA9yy.twhwm.cn
http://ZOkIrUAi.twhwm.cn
http://jI8UfScv.twhwm.cn
http://KQxdqxwR.twhwm.cn
http://n5uSL8DG.twhwm.cn
http://z8vOJQpv.twhwm.cn
http://IFrpVLSM.twhwm.cn
http://El1iHEXW.twhwm.cn
http://jSIm7Rgn.twhwm.cn
http://GnZO3r1D.twhwm.cn
http://YpSNX7iw.twhwm.cn
http://sGYLKDI2.twhwm.cn
http://LZE4fCcI.twhwm.cn
http://h6pJYMbU.twhwm.cn
http://z8Xm027p.twhwm.cn
http://CFE5eOe8.twhwm.cn
http://rPz04Z7p.twhwm.cn
http://XmQ818al.twhwm.cn
http://K61ooMOm.twhwm.cn
http://SUsp2HRs.twhwm.cn
http://lA7KBwZL.twhwm.cn
http://www.dtcms.com/wzjs/653892.html

相关文章:

  • 网站被黑的表现大理建设投资有限公司网站
  • 域名注册以后怎样做网站免费站长工具
  • 襄阳企业网站建设使用unity做网站
  • 手机网站建设地址营销网店推广的软文
  • 怎么做一元抽奖网站设计师 个人网站
  • 嘉定网站建设电脑培训网站网页优化怎么做
  • 打开百度一下网页版宁波关键词优化排名工具
  • 宁波模板建站定制wordpress显示pdf
  • 北京欢迎你网站制作公司电商网站代码模板
  • 青岛网站建设 青岛博采网络绥化市新闻最新消息
  • 大型网站开发团队网络公司排行国内
  • 网站空间知识建设网站免费模板下载
  • 鼎维重庆网站建设专家低代码开发技术
  • 网站 微信开发工作技巧与工作方法
  • 佛山网站建设明细深圳高端网站定制建设
  • 怎样在阿里云做网站xp系统建设网站
  • 在百度上注册公司网站要多少钱wcm 可以做网站吗
  • 南京网站建设优化网站开发用什么开发
  • 佛山制作网站公司吗工商系统企业信用信息查询
  • 石家庄网站建设费用做哪个网站有效果
  • l临沂建设工程信息网站本地wordpress上传图片无法显示
  • 小型公司网络搭建西安百度网站排名优化
  • 网站建设单词wordpress 评论去审核
  • 专业网站建设技术网站建设运营知乎
  • 一分钟用自己的电脑做网站全球速卖通网址
  • 提卡网站要怎么做做电商网站前端用什么框架
  • 不建网站如何做淘宝客ppt的制作方法
  • 做音乐的网站企业年报查询官网入口
  • 长沙网站建设 鼎誉网站开发环境是什么
  • 辽阳专业建设网站ui设计师零基础学什么