如何绕过游戏的防修改保护?
就在这几天,我修改了一腾讯游戏。这个游戏是假加密的,dump出来的和原来的一样。我改了一小部分程序,直接复制回去重新打包。打包之后,安装速度比原来慢很多。安装完打开,是一个白色的页面,最上面有王者的名字和图标。可是手机没有卡死,手机其他地方都正常。我猜这是游戏检测了代码或签名导致的。initproc里面有一些代码,哪位大佬看懂能告诉我一下吗?这是init_proc
int __fastcall sub_85D8B58(int a1)
{
int v2; // r0
void (__fastcall **v3)(int *); // r6
_BYTE *v4; // r0
int v5; // r2
int v6; // r4
int v7; // r0
int v9; //
_BYTE *v10; //
int v11; // BYREF
char *v12; //
int v13; //
void *v14; //
int v15; //
void *v16; //
int v17; //
void *v18; //
int v19; //
sub_85D91B8();
byte_85DC60C = 99;
v2 = sub_85DA168(1);
if ( byte_85DC614 )
sub_85D8AE0(v2);
byte_85DC60D = 104;
byte_85DC614 = 1;
byte_85DC60E = 107;
v3 = (void (__fastcall **)(int *))off_85DBF90;
if ( (dword_85DC21C & 2) != 0
&& !(*((int (__fastcall **)(void *, int, int))off_85DBF90 + 1))(&unk_85DC114, a1, dword_85DC218) )
{
sub_85D8AE0(0);
}
byte_85DC611 = 110;
byte_85DC60F = 95;
byte_85DC610 = 105;
byte_85DC612 = 105;
byte_85DC613 = 116;
if ( sub_85D8B10("libil2cpp.so") )
{
sub_85D9098(dword_85DC234);
if ( sub_85D8B10(&unk_85DC278) )
{
v12 = (char *)&unk_85DC298;
v11 = a1;
v13 = dword_85DC2B8;
v14 = &unk_85DC2BC;
v15 = dword_85DC2DC;
v16 = &unk_85DC2E0;
v19 = dword_85DC324;
v17 = dword_85DC300;
v18 = &unk_85DC304;
v3(&v11);
}
}
sub_85DA168(1);
v4 = v12;
v5 = v11 - v9;
if ( (int)v12 < (int)v10 )
{
--v5;
v4 = v12 + 1000000000;
}
v6 = 1000 * v5;
v7 = sub_85D91E4(v4 - v10, &stru_F4240);
return ((int (*)(const char *, ...))v3)("[%s] time:%ld ms", "libil2cpp.so", v6 + v7);
}
这是85d8b58
il2cpp原文件:https://wws.lanzouj.com/iffnrl551vi
密码:52pj 本帖最后由 芽衣 于 2021-2-3 21:36 编辑
这代码贴不贴都一样……先不说改对了没有,这些地址和指针谁知道是什么
libil2cpp.so感觉也不像是保护的地方 lib2cpp,u3d打包的游戏,参考 https://www.52pojie.cn/forum.php?mod=viewthread&tid=818645 之类的教程。。。
涛之雨 发表于 2021-2-4 09:22
lib2cpp,u3d打包的游戏,参考 https://www.52pojie.cn/forum.php?mod=viewthread&tid=818645 之类的教程。 ...
感谢版主回复!不过我看过很多这样的帖子,可比较奇怪的是,他重新打包之后就能正常启动,我的就是一片白屏,而且还不卡 1024liu 发表于 2021-2-4 17:36
感谢版主回复!不过我看过很多这样的帖子,可比较奇怪的是,他重新打包之后就能正常启动,我的就是一片白 ...
有可能是签名验证或是改错了 涛之雨 发表于 2021-2-5 00:48
有可能是签名验证或是改错了
哦,那我不管是用mt管理器把so带进去,还是用自己的签名重新打包,都是白屏的,这种情况应该不是签名验证吧 解释一下现在的情况,现在应该是没有绕过它的检测:只把so修改1个字节,用mt管理器放进去,游戏一开始白屏,过一段时间后闪退。我这里修改的是mov指令,改了一个数,所以正常情况应该可以加载,不是改错的问题。
另外,原版游戏中刚启动也会有一点白屏时间,我认为游戏在这段时间里检测了程序。
签名检测会是在哪个so里,是在libil2cpp.so里吗?
页:
[1]