首页
社区
课程
招聘
[原创] 2023腾讯游戏安全大赛-安卓赛道决赛"TVM"分析与还原
发表于: 2023-9-24 20:36 13320

[原创] 2023腾讯游戏安全大赛-安卓赛道决赛"TVM"分析与还原

2023-9-24 20:36
13320

  论坛里已经有很多人发过关于"2023腾讯游戏安全大赛-安卓赛道决赛"的文章了我就不多介绍,本人有幸参加过这次比赛,很可惜的是我PC和安卓两个赛道都参加了时间不够,最近有时间了花了两天重新看了一下题目,发现这个"tvm"还是比较简单的给大家分析还原一下。

  在阅读本文之前,建议先对虚拟机(VM)的执行流程有一定的了解。这样能更好地理解本文所讨论的内容。

  a64.dat不懂的可以看一下juice4fun(a64.dat)里面主要包含了arm64虚拟化指令("tvm"shellcode)。

  上面是虚拟机初始化代码,通过sub_9570函数初始化虚拟机环境得到vContext(包含虚拟寄存器、虚拟化指令、handler表、跳转表、调用表...),调用sub_98e50开始执行虚拟机。

  vContext结构如下

  对于确认sub_98e50是vm_start的问题,可以根据上面的流程图进行分析。在反汇编中,可以观察到这里进行了表查找调用,也就是Handler的分发过程。

  sub_98e50(vm_start)还原大致内容

  这里拿个比较简单的举例 ADRP [vm] fun: 0xD0A88, opcode: 05000000 


[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

最后于 2024-4-28 23:05 被a'ゞCicada编辑 ,原因:
收藏
免费 8
支持
分享
最新回复 (8)
雪    币: 18
活跃值: (150)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
2023-9-24 22:15
0
雪    币: 1223
活跃值: (4707)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
3
怎么没看到易语言,,易语言写的脱壳机来?
2023-9-24 22:54
0
雪    币: 1629
活跃值: (310)
能力值: ( LV4,RANK:40 )
在线值:
发帖
回帖
粉丝
4
wx_赛特 [em_86]
2023-9-24 23:02
0
雪    币: 1629
活跃值: (310)
能力值: ( LV4,RANK:40 )
在线值:
发帖
回帖
粉丝
5
R0g 怎么没看到易语言,,易语言写的脱壳机来?
代码都是一键生成的,不用写啊
2023-9-24 23:02
0
雪    币: 3535
活跃值: (31011)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6

感谢分享

最后于 2023-9-24 23:24 被秋狝编辑 ,原因:
2023-9-24 23:23
1
雪    币: 2174
活跃值: (550)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
虽然看不懂,但是大佬出品肯定精品
2023-9-25 15:59
0
雪    币: 8
活跃值: (327)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
感谢分享,大佬
2023-10-17 13:53
0
雪    币: 2775
活跃值: (2073)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
9
小婵婵牛逼
2023-10-17 18:23
0
游客
登录 | 注册 方可回帖
返回
//