首页
社区
课程
招聘
[求助]通过堆栈能否攻破vmp?
发表于: 2009-10-7 21:10 9513

[求助]通过堆栈能否攻破vmp?

2009-10-7 21:10
9513
怕说的不对,首先提示下,我向来不走正常思路,也不喜欢看深层次的教程,看个大概,然后开始浮想

vmp他有个很鲜明的特色,就是在程序中可以用sdk标记上,之后加密,这个很明显,他加密不了sdk两端之外的代码,比如破解delphi程序的时候,就可以用按钮特征码来确定关键代码的范围,一般F8进call后,单步16次,就会走进作者所加的vmp,这里肯定是很难破解的,当然目的不是破解,就不追究了。

观察vmp后,在程序从vmp走到非vmp代码的时候,如果提前知道非vmp代码位置,则在非vmp代码上设置断点,能回溯到vmp中,回溯后,看上一行代码,肯定是vm喽,也就是说,你重启程序,在这行代码上设断,是断不下来的。

问题来了,有没一个工具能全程记录堆栈数据的,我就是不信这vmp就是天王老子了。

我的目的就是在程序从vmp------>非vmp这个过程中,迅速判断出非vmp的精确位置,目的不在破解,目的在于——你猜

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

收藏
免费 0
支持
分享
最新回复 (15)
雪    币: 2015
活跃值: (902)
能力值: ( LV12,RANK:1000 )
在线值:
发帖
回帖
粉丝
2
你数了16下也差不多了,那是初始化VMCONTEXT,接着就是跳来跳去。我认为把这个VMCONTEXT结构在刚进入虚拟机引擎时就搞清楚然后就可以简化代码之用,我郁闷的是标签插件的功能,只能实现立即数寻址,否则VMP保护就没有意义了,多看几行代码罢了 可能你不知道我在说什么 标签插件功能急待增强
2009-10-8 00:28
0
雪    币: 1844
活跃值: (35)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
3
你没真的研究过 VM ,所以你的想法我都不知道怎样说

按你的说法,是无法 回溯 的,我没有理论,我只知道怎样做

看我的附件,算法部份被 VM 了,还是可以破解的 , fuck_vm.exe

你只需要在用户名上输入一个字节,点击就可以出现 OK , 你用补丁工具看看我修改了什么地方 ?

还有,你可以用脚本记录  vm_retn 的动向
上传的附件:
2009-10-8 00:37
0
雪    币: 0
活跃值: (954)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
4
我也不知道怎么跟许兄解释,光浮想会把你带入死胡同的。。实际点比较靠谱!
2009-10-8 10:37
0
雪    币: 326
活跃值: (88)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
5
回溯是没有用的,VMP在返回前会进行堆栈的清除.
不过想要知道非VMP的位置很简单,直接Hook住VMP_EXIT就可以了.
2009-10-8 12:58
0
雪    币: 22
活跃值: (48)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
     虚拟地址    | 原始字节 | 新的字节

     0041CE45         3E         1E
     0041CE46         F2         14
     0041CE47         FF          00
     0041CE48         FF          00
     0041E269         C8         CB
     0041E26D         09          0A

|原始字节
0041CE43   >^/0F83 3EF2FFFF jnb     0041C087

0041E267      3D 34C8B907       cmp     eax, 7B9C834
0041E26C   .  75 09                   jnz     short 0041E277

|新的字节
0041CE43   > /0F83 1E140000 jnb     0041E267

0041E267   > \3D 34CBB907   cmp     eax, 7B9CB34
0041E26C   .  75 0A         jnz     short 0041E278

How did you find it?
Would you please show a video to us?


\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
google's son
http://hi.baidu.com/chhsun611/blog/item/f3c28f2c4aafa93c359bf74f.html
2009-10-8 13:46
0
雪    币: 1844
活跃值: (35)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
7
Sorry , I   don't    English .
2009-10-8 21:13
0
雪    币: 22
活跃值: (48)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
上午,电脑输入法被某不知名病毒侵袭,结果,写了2句小英语,也不知道语法对不对,我大学时候,老师就让我学了半学期英语,都高中的记忆了。

那我用简体中文再次请求下。
请你做个录像给我,gamecrackers@hotmail.com,致谢,如果你愿意公开录像,就在录像里注释下,好让大家学习,你定下吧!
我明天刷新3次邮箱哦,我选中你了,帮下我,好不好!
2009-10-8 21:19
0
雪    币: 2067
活跃值: (82)
能力值: ( LV9,RANK:180 )
在线值:
发帖
回帖
粉丝
9
美女改的是 VM.jmp
等到要jmp到失败处时, 将次转到成功处.

录像是没义意的, 因为一切都是事先调试过, 得到的数据.
2009-10-9 07:03
0
雪    币: 1844
活跃值: (35)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
10
对,有明白的来了
2009-10-9 09:21
0
雪    币: 1844
活跃值: (35)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
11
上面的破解是有一对正确的注册码情况下破解,也同样具有意义
那边的 1.8 修改的不是 jmp 了,但大意是基本相同的

所以我每次都贴出了对应的算法
2009-10-9 09:32
0
雪    币: 2067
活跃值: (82)
能力值: ( LV9,RANK:180 )
在线值:
发帖
回帖
粉丝
12
即使不知算法' 没有正确的注册码都一样的
2009-10-9 09:52
0
雪    币: 248
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
不懂,向你们学习!
2009-10-9 14:24
0
雪    币: 208
活跃值: (40)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
14
如果有正确的注册码,通过jmp是可以破解vmp的
2009-10-10 16:41
0
雪    币: 2242
活跃值: (488)
能力值: ( LV9,RANK:200 )
在线值:
发帖
回帖
粉丝
15
1.用户名长度小于15
2.用户名长度*注册码长度 + 3 == 30

比如:
111111111
111

以前就见过此贴,幸好VM的代码不长,还原玩一下
2010-3-17 11:54
0
雪    币: 119
活跃值: (10)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
16
疯子是小汪??
2010-3-17 12:05
0
游客
登录 | 注册 方可回帖
返回
//