首页
社区
课程
招聘
[讨论]某安全SDK的ARM级VMP简单分析
发表于: 2017-6-29 03:06 13448

[讨论]某安全SDK的ARM级VMP简单分析

2017-6-29 03:06
13448

样本来源于阿里安全SDKAPP为狼人杀,这个样本并不算真正的VMP,但是有VM的影子,非常值得学习。

 

阿里安全SDKlibsgmainso-5.3.38.so提取方法:

解压APP,定位lib目录,找到libsgmain.so,该so实际是一个apk文件。将该apk解压后,就能在lib目录中找到真实SO

 

样本SO ELF文件节表有问题,IDA无法正常打开,进行简单修复即可。

 

修复方法:

打开010 套模板,Elf32_Half e_shnum0即可。

 

运作原理:

 

其中有一张表,该表记录了opcode对应Handler的偏移地址。

 

Handler地址计算:

Vm_table 为该表起始地址。

Vm_base 为一个对齐地址等于Vm_table + 1

Offset = vm_table[opcode * 4]

HandlerAddr = offset + vm_base

Opcode字节码不集中,采用指令链接形式把所有opcode串联起来。

 

本文样本的解析部分结果(手动计算):

Op Handler

1D CF9D

1E D3B3

10 D264

2B D5F4


[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

收藏
免费 1
支持
分享
最新回复 (21)
雪    币: 9479
活跃值: (757)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
最好发个apk的链接或附件。
2017-6-29 03:23
0
雪    币: 341
活跃值: (143)
能力值: ( LV7,RANK:110 )
在线值:
发帖
回帖
粉丝
3
天才小能手
2017-6-29 08:31
0
雪    币: 6911
活跃值: (9069)
能力值: ( LV17,RANK:797 )
在线值:
发帖
回帖
粉丝
4
地狱怪客 天才小能手
我要小媳妇
2017-6-29 09:36
0
雪    币: 341
活跃值: (143)
能力值: ( LV7,RANK:110 )
在线值:
发帖
回帖
粉丝
5
无名侠 我要小媳妇
已发货!
2017-6-29 11:21
0
雪    币: 459
活跃值: (398)
能力值: ( LV8,RANK:120 )
在线值:
发帖
回帖
粉丝
6
地狱怪客 天才小能手
都是天才小能手
2017-6-29 11:22
0
雪    币: 249
活跃值: (72)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
m
2017-6-29 14:52
0
雪    币: 172
活跃值: (1623)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
8
准备提取真实指令的,真是难搞,2  3条指令就用一个handler处理
2017-6-29 17:28
0
雪    币: 14
活跃值: (281)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
这种类型的VM,污点分析是一种思路
2017-6-29 17:37
0
雪    币: 9479
活跃值: (757)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
imcczy 这种类型的VM,污点分析是一种思路
什么是污点分析啊
2017-6-30 01:39
0
雪    币: 19
能力值: (RANK:10 )
在线值:
发帖
回帖
粉丝
11
能留个联系方式吗
2017-6-30 11:39
0
雪    币: 29
活跃值: (499)
能力值: ( LV8,RANK:120 )
在线值:
发帖
回帖
粉丝
12
这是ollvm的fla,不是vmp...
2017-6-30 13:02
0
雪    币: 243
活跃值: (545)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
2017-6-30 14:04
0
雪    币: 3712
活跃值: (1401)
能力值: ( LV5,RANK:70 )
在线值:
发帖
回帖
粉丝
14
应该不是VMP,VMP的话每一个Handler是一个很小的原子解释操作
2017-7-1 09:38
0
雪    币: 5
活跃值: (15)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
你好,能发下样本吗?
2017-7-18 11:27
0
雪    币: 234
活跃值: (38)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
16
这个是ollvm的混淆
2017-8-4 10:36
0
雪    币: 402
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
17
小伙牛×
2017-12-5 16:34
0
雪    币: 3
活跃值: (200)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
18
它这个东西的反调试有研究没 
2018-1-19 18:20
0
雪    币: 6003
活跃值: (3490)
能力值: ( LV6,RANK:96 )
在线值:
发帖
回帖
粉丝
19
走码观花 它这个东西的反调试有研究没 [em_2]
我的反调试已经过了,就差ollvm反混淆了
2018-2-27 20:52
0
雪    币: 3
活跃值: (200)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
20
Imyang 我的反调试已经过了,就差ollvm反混淆了
留下交流方式
2018-3-11 13:30
0
雪    币: 233
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
21
Imyang 我的反调试已经过了,就差ollvm反混淆了
这个如何反调试呀?求教~
2019-7-9 16:32
0
雪    币: 233
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
22
Imyang 我的反调试已经过了,就差ollvm反混淆了
楼主,这个反混淆如何写具体脚本,能分享下么?
2019-7-9 16:32
0
游客
登录 | 注册 方可回帖
返回
//