就在这几天,我修改了一腾讯游戏。这个游戏是假加密的,dump出来的和原来的一样。我改了一小部分程序,直接复制回去重新打包。打包之后,安装速度比原来慢很多。安装完打开,是一个白色的页面,最上面有王者的名字和图标。可是手机没有卡死,手机其他地方都正常。我猜这是游戏检测了代码或签名导致的。initproc里面有一些代码,哪位大佬看懂能告诉我一下吗?
这是init_proc
[C] 纯文本查看 复制代码 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; // [sp+Ch] [bp-44h]
_BYTE *v10; // [sp+10h] [bp-40h]
int v11; // [sp+14h] [bp-3Ch] BYREF
char *v12; // [sp+18h] [bp-38h]
int v13; // [sp+1Ch] [bp-34h]
void *v14; // [sp+20h] [bp-30h]
int v15; // [sp+24h] [bp-2Ch]
void *v16; // [sp+28h] [bp-28h]
int v17; // [sp+2Ch] [bp-24h]
void *v18; // [sp+30h] [bp-20h]
int v19; // [sp+34h] [bp-1Ch]
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[24](&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[25])("[%s] time:%ld ms", "libil2cpp.so", v6 + v7);
}
这是85d8b58
il2cpp原文件:https://wws.lanzouj.com/iffnrl551vi
密码:52pj |