看啥推荐读物
专栏名称: 看雪学苑
致力于移动与安全研究的开发者社区,看雪学院(kanxue.com)官方微信公众帐号。
今天看啥  ›  专栏  ›  看雪学苑

2024腾讯游戏安全大赛-安卓赛道决赛VM分析与还原

看雪学苑  · 公众号  · 互联网安全  · 2024-04-28 17:53
一Basic protection使用模拟器打开游戏,发现进入不了猜测是检测,使用syscall hook 获取全部系统调用,发现使用 prctl和seccomp 后程序卡死。[Handler_Syscall__NR_seccomp] __NR_seccomp(0x1, 0x1, 0xbc9bac30) libUE4.so+0x46D293BHook调用seccomp将prog数据获取下来,分析发现进行系统调用号拦截0x129 __NR_recvmsg杀死线程,将prog->len 设置为0游戏正常运行。sock_filter[0] { code: 0x20, jt: 0x0, jf: 0x0, k: 0x0 } LD W ASBsock_filter[1] { code: 0x15, jt: 0x0, jf: 0x1, k: 0x129 } JEQ(0x129)sock_filter[2] { code: 0x6, jt: 0x0, jf: 0x0, k: 0x0 } RET_KILL_THREADsock_filter[3] { code: 0x6, jt: 0x0, jf: 0x0, k: 0x7fff0000 } RET_ALLOW26秒后游戏调用access进行环境检测,环境异常游戏闪退。这里捕获到access两个返回地址:1.libUE4.so+0x46D1FE52.libUE4.so+0x46D2093可能是不同的检测。分析libUE4.so+0x46D1FE5,我给检测函数命名为access_check_risk_46d1f8c,调用来源于libUE4.so+0x46d1be4 ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照