unity3d手游破解(一)
本帖最后由 chinamima 于 2018-4-25 14:41 编辑最近找乐子破解了点手游玩玩,顺便分享一下,目标APK--X条英雄。
1、大致分析
拿到APK先看看libs和assets,发现有libmono.so以及\assets\bin\Data\Managed\Assembly-CSharp.dll,可以确定是unity3d手游,可以尝试修改 Assembly-CSharp.dll来破解游戏,不过发条英雄的这个dll加密了,所以需要先解密。
2、解密dll
把 libmono.so扔进ida,找到mono_image_open_from_data_with_name函数,F5查看发现了解密代码:
在这个函数先判断加载的dll是否包含ssem字符串,接着判断前两个字节是否等于82(0x52),77(0x4d),因此可以确定下面的for循环是解密代码,比较简单,抄下来自己写一个解密程序(附件有一份),然后对这个 Assembly-CSharp.dll进行解密。
3、修改dll
把 Assembly-CSharp.dll扔进Reflector+reflexil环境进行修改(不会的同学百度学习一下),找到关键函数get_DamageValue,直接改成返回100W,然后攻击就变成了100W。
不过这个时候怪物攻击也是100W,因此再找到Player的applyDamage函数,修改这个函数直接ret,然后玩家就无敌了。
最后保存为一个新的dll并替换掉之前APK里面的 Assembly-CSharp.dll,解密后的dll头部不等于82(0x52),77(0x4d),因此so可以直接加载。
4、运行
重新签名,打包成新的APK,安装运行,一刀100W。
5、结束语
服务器信赖客户端的计算结果就导致这种情况,不过服务器加强数据校验也能检测出来。有兴趣的同学可以去改改dll实现竞技场百战百胜。
本帖最后由 ao610336999 于 2018-4-19 15:45 编辑
不错的教程http://pan.apkgm.top/s/jma8g2cw 发条英雄无限技能秒杀u3d 菜单自带开关
本帖最后由 StarsDowns 于 2019-5-27 00:44 编辑
大佬这个怎么看,mono_image_open_from_data_with_name函数里看不懂啊,解密是和s有关吗,这个解密代码怎么看呢
int __cdecl mono_image_open_from_data_with_name(void *src, size_t n, int a3, int a4, int a5, char *s)
{
int result; // eax
int v7; // eax
int v8; //
int v9; //
void *dest; //
if ( !src || !n )
{
if ( a4 )
*(_DWORD *)a4 = 3;
return 0;
}
dest = src;
if ( !a3 )
goto LABEL_12;
dest = (void *)sub_25AE77(n);
if ( dest )
{
memcpy(dest, src, n);
LABEL_12:
v8 = sub_25AEAC(872);
*(_DWORD *)(v8 + 8) = dest;
*(_DWORD *)(v8 + 12) = n;
*(_BYTE *)(v8 + 16) = 2 * (a3 & 1) | *(_BYTE *)(v8 + 16) & 0xFD;
if ( s )
v7 = sub_25AF40(s);
else
v7 = sub_25B51B("data-%p", (char)dest);
*(_DWORD *)(v8 + 20) = v7;
*(_DWORD *)(v8 + 44) = sub_25AEAC(396);
*(_BYTE *)(v8 + 16) = 8 * (a5 & 1) | *(_BYTE *)(v8 + 16) & 0xF7;
*(_DWORD *)v8 = 1;
v9 = sub_17C8C3(v8, a4, 1, 1);
if ( v9 )
result = sub_17CF62(v9);
else
result = 0;
return result;
}
if ( a4 )
*(_DWORD *)a4 = 1;
return 0;
} 图挂了......... 图被和谐了 补一下吧{:301_1008:} 你是转的看雪的还是同一个作者? 补个图呗!!! 该资源仅供内部交流············· 云在天 发表于 2018-4-19 14:57
你是转的看雪的还是同一个作者?
同一个,可以去求证,这么短时间抄袭不会的吧 @ikeeki@金戈铁马@云在天 @痞孑@jomo
图已补 厉害了啊