Unity3D 加密 Assembly-CSharp.dll (Android平台) 防止反编译
本文固定链接:http://blog.csdn.net/u013108312/article/details/54234439
0、加密的原理
Unity3D 是基于 Mono的,我们平时写的 C# 脚本都被编译到了 Assembly-CSharp.dll ,然后 再由 Mono 来加载、解析、然后执行。
Mono 加载 Assembly-CSharp.dll 的时候就是读取文件到内存中,和平时读取一个 游戏资源 文件没什么区别。
为了防止别人破解,我们会对游戏资源加密,简单点的 比如修改文件的一个字节 或者 位移一下 。只要简单的修改一下,破坏原来的文件数据结构,别人就不能用通用的读取工具来读取了。
Mono 读取 Assembly-CSharp.dll 也是如此,我们只要简单的 修改 Assembly-CSharp.dll 的一个字节,就能破坏掉 Assembly-CSharp.dll 的数据结构,然后 Assembly-CSharp.dll 就不再是一个 dll 了,就变成了一个普通的文件,一个系统都不认识的未知类型的文件。
Assets\bin\Data\Managed\Assembly-CSharp.dll
在 Android 中,由 libmono.so 来加载 Assembly-CShar
Unity3D 加密 Assembly-CSharp.dll (Android平台) 防止反编译相关推荐
- android apk 防止反编译技术第三篇-加密apk
经过了忙碌的一周终于有时间静下来写点东西了,我们继续介绍android apk防止反编译技术的另一种方法.前两篇我们讲了加壳技术和运行时修改字节码,如果有不明白的可以查看我的博客的前两篇中关于这两种技 ...
- 【流媒体开发】VLC Media Player - Android 平台源码编译 与 二次开发详解 (提供详细800M下载好的编译源码及eclipse可调试播放器源码下载)
作者 : 韩曙亮 博客地址 : http://blog.csdn.net/shulianghan/article/details/42707293 转载请注明出处 : http://blog.csd ...
- android系统firefox,Android平台Firefox——Fennec编译手记
Android平台Firefox--Fennec编译手记 Firefox for mobile,开发代号为Fennec.详情参见维基百科:Click here! 官方手册 1)准备环境 1.1)安装J ...
- android apk 防止反编译技术第三篇-加密
经过了忙碌的一周终于有时间静下来写点东西了,我们继续介绍android apk防止反编译技术的另一种方法.前两篇我们讲了加壳技术(http://my.oschina.net/u/2323218/blo ...
- 转: android apk 防止反编译技术(1~5连载)
转: android apk 防止反编译技术 做android framework方面的工作将近三年的时间了,现在公司让做一下android apk安全方面的研究,于是最近就在网上找大量的资料来学习. ...
- JAVA加密狗(JAVA程序加密保护,防拷贝和防止反编译)
JAVA加密狗(JAVA程序加密保护,防拷贝和防止反编译) 众所周知,java为开发语言提供了很方便的开发平台,但开发出来的程序很容易在不同的平台上面被移植,现在越来越多的人使用它开发软件. ...
- Android程序的反编译对抗研究
转自: http://www.freebuf.com/tools/76884.html 一.前言 对抗反编译是指让apk文件或者dex文件无法正常通过反编译工具,而且有可能导致工具异常或者崩溃,如ap ...
- Android混淆、反编译基础教程
Android混淆.反编译基础教程 Android APK混淆 Java代码是非常容易反编译的.为了很好的保护Java源代码,我们往往会对编译好的class文件进行混淆处理. 根据 SDK 的版本不同 ...
- Android的APK反编译技术
Android的APK反编译主要由反编译源码以及反编译资源两部分,第一种方法用来学习别人优秀的代码,第二种方法可以反编译做汉化或其它一些有用的用途(这个你懂的). 想要反编译,那相应的工 ...
最新文章
- 莹石云存储卡不兼容_继入股无锡好达之后,华为再度入股国产滤波器厂商德清华莹...
- 线性回归正则化参数(公式)
- voliate修饰数组有作用吗_Arrays.asList()真的就把数组转换为了List集合吗?
- Struts2后期(这框架目前正处于淘汰状态)
- HttpURLConnection发送post请求信息
- ScrollView充满屏幕
- android 自定义皮肤,Android Studio 自定义皮肤主题和背景
- 超简单的Oracle 数据库安装教程
- C和指针之函数之归以字符形式按顺序打印数字的每位数字(递归和非递归)
- 三角函数和复指数函数的转化_三角函数与复数
- 解决XP的IIS HTTP 500”内部服务器错误
- 201412-1-门禁系统
- python对于设计师有什么用-如果你有设计师朋友,请对TA好一些...
- 电商数据抓取是什么意思?有什么作用?
- 使用yarn创建react项目报node_modules\core-js-pure: Command failed错误
- 为知笔记保存为html,为知笔记怎么保存网页 为知笔记保存网页教程
- 忘记网站服务器密码怎么办,忘记远程服务器的密码怎么办
- 【STM32CubeMx你不知道的那些事】第十章:STM32CubeMx的SPI外置FLASH(W25Q128)+文件系统(FATFS)+虚拟U盘
- 使电脑显示文件后缀名的俩种方法
- Java+freemarker 导出Word文档的实现(包括word for Mac 插入域的方法)-静态数据,动态表格list