TA的每日心情 | 奋斗 2023-9-22 14:51 |
|---|
签到天数: 341 天 [LV.8]以坛为家I
|
背景 保护进程的相关资讯可以到我们网站了解一下,从专业角度出发为您解答相关问题,给您优质的服务!
由于很多原因比如修、减小包体积、迅速更新,游戏需要使用到热更。
目前比较热门的热更方法,一种是使用,比如、之类的,还有一种是使用热更框架,比如HCLR、ILR。
如何修改,已经有很多文章了,证明了使用被篡改是很简单的一件事。那么,热更框架就安全了吗
HCLR
项目地址:
不得不说,通过阅读文档,这个框架是修改了2来现的原生级热更,真的是很厉害。
原生的2是将游戏所有代码编译到2,不会生成A-CS。
首先在上拉取测试,并打包成,运行起来截图:
我们可以看到游戏加载了热更的A-CS,并且输出,HCLR。
可以通过查找字符串“'”来获取加载函数,找到这个函数并,就能将热更的下来,修改内容后并重新加载进去。
通过查找发现目标函数的偏移为60,获取到的内容为:
修改中的相关内容:
重新加载,逻辑就已被修改了:
附上
仅有需要修改的信息为II::的偏移
=PMBN("2")
(==)
=PMBN("2")
=1;
I((6BBD0),{
E:(){
P="DHCLRT_"++""
((P)==0){
=(P);
[1]=;
[2]=NP(());
(""+P)
}{
=F(P,"");
=[2]
([1]BA(I32()))
(""+P)
}
++
}
})
(P){
_=MEBN("","");
_=NF(_,'',['','']);
_=MU8S(P);
=_(_,0);
;
}
(P){
_=MEBN("","");
_=NF(_,'',['','']);
_=MU8S(P);
=_(_,777);
;
}
_(){
_=("");
="";
(=0;_;++){
=+""+_[];
(()!=0){
=()
(":"++":"+);
}
}
}
对象没有
(P){
_=MEBN("","");
=NF(_,'',['','']);
_=MEBN("","");
=NF(_,'',['','','']);
_=MEBN("","");
=NF(_,'',['']);
=(MU8S(P),0);
=__();
(0){
=M(+5);
((,,)0){
('[+]UDLL[!]');
();
0;
}
();
{:,:};
}
}
__(){
B=M(500);
S=MEBN('','');
=NF(S,'',['','']);
(0){
=(,B);
(0){('[+]--[!]');
}
}
=MS32(B(0));
(0){
;
}{
0;
}
}
如此就完成了关于使用HCLR游戏的热更修改。其他逻辑信息就通过常规的分析2取获取。 |
|