unity android 30帧,解除某Unity游戏的30帧帧率限制

这篇技术交流文章介绍了如何解除某Unity安卓游戏的30帧限制,通过分析libil2cpp.so文件,找到设置目标帧率的函数并修改字节码,利用Magisk和Riru实现注入,最终达到60帧的效果。警告:此类操作可能引起封号风险,慎用。
摘要由CSDN通过智能技术生成

本教程仅供技术交流之用,任何对软件的修改都有可能造成封号后果,请须知!!!技术交流贴不要引战!本人菜鸡一枚,如有错误望指正。Tips:本文章里的所有注入操作均基于Magisk和Riru,因为使用这种方式进行注入不易被反作弊检测,基本无需特别对抗反作弊。最近某基于Unity的手游上线,在IOS上是支持60帧的,但是在安卓上或许是出于稳定性考虑,并没有开放60帧。既然是Unity制作的,安卓大概率也有设置帧率的地方(事实上就是,通过手动修改配置文件也可以解锁),只是UI给隐藏了,那么干就完事了。首先解包观察lib,确定是使用il2cpp模式编译的,且使用的某大厂的加固方案。但是目前为止几乎所有的il2cpp加固方案都防止不了内存dump,二话不说先搞下来一份libil2cpp.so。接下来要知道Unity中如何设置目标帧率,Unity中通过修改Application.targetFrameRate来修改帧率上限。使用与该游戏相同的Unity版本写一个test.cs脚本,在Start中写入Application.targetFrameRate =60;,挂到默认相机上。使用il2cpp模式编译安卓的安装包,编译完成后使用il2cppdumper获取有关信息,使用ghidra(当然喜欢IDA也可以)打开libil2cpp.so文件,使用脚本完成命名后定位到Start函数,发现其进行了一个如下的调用:

16e2cfcbf8158964a2da6406feee463c.png</

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值