位置: 编程技术 - 正文
推荐整理分享Unity3d 调用 C++ 函数 实现加密防破解 (Android向)(unity调用c++动态库),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:unity调用c++封装的dll,unity怎么用c++写脚本,unity能用c开发吗,unity调用c++动态库,Unity3d 调用 网页 透明,unity调用c++动态库,unity调用c++封装的dll,unity3d用c++可以吗,内容如对您有帮助,希望把文章链接给更多的朋友!
因为Unity 采用C# 作为主要语言,代码编译之后作为DLL存在与执行文件中,这就给我们带来很大的一个问题,反编译非常容易。
如何反编译Unity游戏的代码:
Unity打包生成的安装包,我们随便下载一个游戏,解压APK,来到
这个目录。你在游戏中编写的代码就存放在这两个dll中。把dll拖放到MonoDevelop中,稍等片刻,就能看到dll中的代码。
如果有一些比较重要的代码不想让别人看到,那就用C来编写,C编译成so文件,反编译之后只能成为汇编语言,无疑加大了破解难度(当然不能百分百防破解,汇编大牛很多的)
我们先新建一个文件夹,在里面新建一个jni文件夹,新建一个c文件,内容如下:
就这么一个函数吧,供C#调用。然后新建一个Android.mk文件,这是NDK编译SO需要的一个mk文件,在里面指定了如何编译。
然后新建一个Application.mk文件,指定编译平台以及其它的依赖。然后在jni文件夹中执行命令:
就会编译出来so文件,存放在上一级的lib中。新建一个Unity3d的工程,然后编写代码,调用so中的的函数。
注意 如果要调用SO中的函数一定要按照Unity指定的规则来编写:在Unity工程中新建目录
拷贝SO文件到这里然后我们导出APK安装测试
Demo工程下载:
Unity ShaderLab学习总结 UnityShaderLab学习总结WhyBothers?为什么已经有ShaderForge这种可视化Shader编辑器、为什么AssetStore已经有那么多炫酷的Shader组件可下载,还是有必要学些Shader
Unity官方游戏实例视频中文教程之太空射击学习笔记 如何用键盘控制GameObject移动FixedUpdate函数中添加如下代码floatmoveHorizontal=Input.GetAxis(Horizontal);floatmoveVertical=Input.GetAxis(Vertical);Vector3movement=newVector3(moveHorizo
[置顶] unity使用AnimationCurve实现RPG中攻击与受伤时的分数的动态效果ScoreFlash 孙广东:-2-8/2:转载请注明出处:
标签: unity调用c++动态库
本文链接地址:https://www.jiuchutong.com/biancheng/375737.html 转载请保留说明!友情链接: 武汉网站建设