首页
社区
课程
招聘
[原创]VM代码的还原-插件篇
发表于: 2017-5-15 12:32 22061

[原创]VM代码的还原-插件篇

2017-5-15 12:32
22061

首先,先给出几个工具.大概都是伪码类的.之前也介绍过.
首先推荐的是zdhysd 师傅的VMP分析插件 1.4 之前介绍过了..


剩下的大家也都用过.一个是木木老师的OoWoodOne 堪比Ximo师傅的zeus 个人用的觉得比zeus更好用一点.而且带源码.


其他的一些ximo老师的zeus,noboy老师FkVMP 之类的大家都熟悉就不提了..

伪码类的VMP分析插件 1.4 用起来很好.除了某些小问题.而且最主要可以自定义规则识别.这个是很强大的地方..如果,对代码很熟悉那么还原起来 还是比较快的.只不过是手动还原罢了.容易出错.这些主要都是逻辑还原.本人觉得从技术上来讲纯asm还原并不现实.因为,我们所谓的轮转机制只不过是一个用寄存器体系 去理解的VM.跟实际寄存器并没有什么关系. 对于VM分析来讲  你用的是哪个寄存器 对我们对VM进行分析 并无影响.可以用伪码进行代表 还原逻辑.然后 再反推寄存器.这是一个很大的工程..根据我已知的消息.其实 已经有很多还原引擎 只不过 我们这些菜鸟未曾一见. 比如大部分cug ccg的前辈....好啦 吹逼就到这里.VM机制不是这个帖子要讲的.如果要讲 也不是我这个菜鸟能讲的..我只聊聊插件怎么用...233333

很早之前用过VMSweeper1.4  觉得不太好用 之后就没有关注过.然后,这几天有个项目要还原VM.开始的时候 用ZEUS 分析好vmhandler 然后到VMVMP 也就是 disp什么的那个地方 分配跳转的..英文不好.专业名词不会.大概理解吧...手动记事本写了三页..瞬间觉得不是人做的工作..心好痛.又不会编程.得了吧..找找现成插件吧..开始的时候用的VM 分析插件 handler 分析没错 但是算法分析有问题.调试起来问题很多..蛋疼的一腿..然后 就拿起了.VMSweeper 但是,还是不行.局限性太大...可是 默默的发现了 这玩意 还原VM还原起来 很是舒服啊. 除了很多插件上的BUG 但是 堆栈反推没有出错.于是有了这篇文章.

事先说明.这些插件使用的局限性很大.毕竟一个系统的还原插件不是一时可以写出来的.就算写出来 大部分师傅 也只是 扔着烂硬盘....对 别看别人 就是你brack老师....这篇文章 我只是简单讲解一下.实际应用之中会遇到很多问题.大部分时候不适合实际应用....

开课:


先上未被VM时候的原始代码

很明显啦易语言代码...反正我菜...


以下为VM后代码.

VM后的代码 其实贴不贴没啥区别...

以下都是截图.


首先 按照我的截图操作.选中

然后




这个时候F9跑起来.然后按F1 程序就开始分析了.分析之后 会在OD目录下生成一个文件夹.里边 文件 我简单讲解一下.trc结尾的是跟踪部分.map 根据前缀 可以分为几种.一类作为堆栈  一类寄存器  一类 操作码 其他我也就不太清楚了.233333

我们要关注的是log 文件.  log文件有虚拟机入口分析 指令表指令分析.也就是opcode 对应的VM指令是啥...还有一部分就是我们要的 根据堆栈还原回来的指令操作.很精简了..
代码如下:

相信我 只要你不傻..怎么还原 一目了然........


带有浮点寄存器 XMM 寄存器的需要手动肉眼还原. 这个插件把代码转换操作之后申请内存出来的汇编代码..相信我.只要你汇编 还行.肉眼还原 基本也就是时间问题..插件很牛逼..很屌...  这个插件是我见过最傻瓜..最简单的还原工具.                

想想像我这种菜B很是惆怅啊...B老师 直接能心算还原.我还停留在只能用别人的工具上面.差距好大...心好痛.


别说这个帖子没用 鄙视我菜.. 这玩意出来好几年了..  技术好的觉得没啥说的必要这么简单的东西..技术菜的不知道.  


我自己也觉得 这么菜的帖子发出来没B格...但是,我觉得发很多原理大家都云里雾里的.不如直接发个插件使用方法.难者不会 会者不难.但是VM这玩意不一样..就算你知道原理.他特么也是体力活...想想我手写三页记事本的还原 还特么没啥卵用..心痛. 不会编程 只能纯手动了.


响应穆恩师傅的帖子:http://bbs.pediy.com/thread-217588.htm


==============================================================================================

==============================================================================================


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

收藏
免费 3
支持
分享
最新回复 (24)
雪    币: 7016
活跃值: (4227)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
感谢分享
2017-5-15 14:04
0
雪    币: 272
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
堪比滴水5万的课程
2017-5-15 16:55
0
雪    币: 297
活跃值: (265)
能力值: ( LV4,RANK:55 )
在线值:
发帖
回帖
粉丝
4
你这么牛逼,难道是师从B牛Brack?
2017-5-15 17:59
0
雪    币: 783
活跃值: (1121)
能力值: ( LV5,RANK:78 )
在线值:
发帖
回帖
粉丝
5
evilor 你这么牛逼,难道是师从B牛Brack?
B牛哪能收我这种菜鸡...都是他偶尔透露一句半句给我而已.师傅才是入门弟子.
2017-5-15 19:42
0
雪    币: 44
活跃值: (32)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
看看大牛们的技术,觉得自己要走的路还长,像vmp大牛应该都是自己写的自动分析工具,上次我只是简单跟踪了一下就写了六七页,没敢进入虚拟机,完全就是体力活
2017-5-16 06:45
0
雪    币: 49
活跃值: (25)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
楼主厉害哦。
2017-5-16 14:32
0
雪    币: 231
活跃值: (2631)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
8
给赞一个
2017-5-16 19:14
0
雪    币: 46
活跃值: (179)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
感谢分享
2017-5-18 11:12
0
雪    币: 2
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
我们能做个朋友吗?

2017-5-19 00:55
0
雪    币: 184
活跃值: (96)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
11
我们能做朋友么
2017-5-20 12:00
0
雪    币: 2
活跃值: (197)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
001B00BC:  pushfd
001B00C2:  test  efl,  0x00000100
001B0230:  jz  0x001B0392
开头的这一段如何得来的?有点看不懂,求指教
2017-5-20 16:50
0
雪    币: 783
活跃值: (1121)
能力值: ( LV5,RANK:78 )
在线值:
发帖
回帖
粉丝
13
材鸟 001B00BC: pushfd 001B00C2: test efl, 0x00000100 001B0230: jz 0x001B0392 开头的这一段如何得来的?有点看不懂,求指教
这段基本都会有.验证VM的.跟原始代码没关系.
2017-5-21 01:31
0
雪    币: 2
活跃值: (197)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
bambooqj 这段基本都会有.验证VM的.跟原始代码没关系.
插件生成的.LOG文件里有记录吗?那就太叼了!~~还是根据.LOG文件提供的信息再去跟踪得来的?
2017-5-21 02:18
0
雪    币: 1361
活跃值: (1121)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
15
厉害了 
2017-5-22 00:22
0
雪    币: 6270
活跃值: (3335)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
16
看我头像
2017-5-22 09:13
0
雪    币: 59
活跃值: (1511)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
17
请问楼主用的哪一个版本的VMSweeper是哪个版本?  我用1.5  beta4  和1.4  beta15重复你的那个试练品,得到的log文件里的内容很少,看不到还原后的代码。
2017-9-5 22:14
0
雪    币: 12
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
18
mack
2017-9-5 23:14
0
雪    币: 783
活跃值: (1121)
能力值: ( LV5,RANK:78 )
在线值:
发帖
回帖
粉丝
19
zbzb 请问楼主用的哪一个版本的VMSweeper是哪个版本? 我用1.5 beta4 和1.4 beta15重复你的那个试练品,得到的log文件里的内容很少,看不到还原后的代码。
OD尽量不要开启其他插件  有的有冲突..
2017-9-6 00:19
0
雪    币: 59
活跃值: (1511)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
20
bambooqj OD尽量不要开启其他插件 有的有冲突..
好的,  谢谢提醒.
2017-9-6 15:15
0
雪    币: 5836
活跃值: (1918)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
21
感谢分析!
2018-1-24 17:54
0
雪    币: 26
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
22
大佬可以初一篇提取vmp壳dll的教程么
2020-3-1 14:33
0
雪    币: 55
活跃值: (519)
能力值: ( LV6,RANK:80 )
在线值:
发帖
回帖
粉丝
23
这样好的文章我肯定得mark一下呀。
2021-7-1 17:59
0
雪    币: 9921
活跃值: (6754)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
24
为什么这帖子一收藏就Token check error
2021-7-3 12:23
0
雪    币: 6
活跃值: (1146)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
25
同问
2021-7-3 12:59
0
游客
登录 | 注册 方可回帖
返回
//