找回密码
 立即注册
查看: 963|回复: 5

原神是用什么编程语言开发的?

[复制链接]
发表于 2023-8-15 20:44 | 显示全部楼层 |阅读模式
原神是用什么编程语言开发的?
发表于 2023-8-15 20:45 | 显示全部楼层
服务器记得是C++/boost吧
客户端Unity/C#/Lua没啥说的
发表于 2023-8-15 20:46 | 显示全部楼层
对游戏项目问用什么语言是没意义的。
市面上随便一个大家能看到的游戏,都是一堆各种各样五花八门的语言攒起来的。

回到问题,
原神客户端Runtime直接用到的开发语言至少有:C#、C++、Lua、shaderlab
周边工具链开发:C#、C++、Python、MaxScript等
服务端从招聘信息看至少有Golang
各种版本特点活动什么无脑想至少有JS、TS
此外就是SDK、遥测、运营数据这些杂七杂八的玩意,各自会用到一堆语言。
印象中它启动器好像是Qt来着
发表于 2023-8-15 20:46 | 显示全部楼层
大概看了一眼内容不一定全对,仅供参考
打开原神安装目录 访问 Genshin Impact Game\YuanShen_Data 点进去一看就是典型Unity项目目录,并且空间占比非常大多半游戏本体了。外面的是启动器,用的QT工具套
游戏脚本应该使用XLUA
这个目录
Genshin Impact\Genshin Impact Game\YuanShen_Data\StreamingAssets\VideoAssets\StandaloneWindows64
不少USM文件,应该是视频资源,你用记事本打开他,会发现一些有意思的东西:)
有现成的对应工具转换一下变成正常视频
其核心资源文件主要是BLK。。。想要解包就得知道对应算发解一下
可以找一找一个叫GenshinStudio的工具对BLK文件进行专门解包。
------------------------------------2023-7-31更新-----------------------------------
打包环境是jenkins
D:\Genshin Impact\Genshin Impact Game\YuanShen_Data\Plugins\ZFGameBrowser.exe
应该是用C++开发,用的chrome内核, 核心是chrome_elf.dll
发现UserAssembly.dll,280M的DLL,多半就是核心代码了。按照惯例看看用了哪些DLL


有点懵。第一次碰到过,不知道怎么下手。这时候想到了主题:原神是用什么编程语言开发的?
对呀,C#代码需要NET框架,手机端哪有NET框架,肯定把C#代码转换成了中间代码才能再手机端运行,要解开他只需要把中间代码进行还原一下就可以了。
具体原理可看此文章
小玉:Unity将来时:IL2CPP是什么?
使用Il2CppDumper进行破解。对应的global-metadata.dat文件是加密了的,所以需要先解
对应思路
某神PC端Unity IL2CPP保护分析
破解成功后你就会得到原始DLL,剩下的使用dnSpy,ILSpy或者其他.Net反编译工具即可查看具体信息...
所以如果你玩私服多半让你替换掉UserAssembly.dll

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
发表于 2023-8-15 20:47 | 显示全部楼层
直接看招聘信息
https://jobs.mihoyo.com/m/social-recruitment/mihoyo/42280/#/jobs?zhineng[0]=22500&keyword=原神
发表于 2023-8-15 20:48 | 显示全部楼层
Unity(C#)
懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Unity开发者联盟 ( 粤ICP备20003399号 )

GMT+8, 2024-5-3 06:26 , Processed in 0.269927 second(s), 27 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表