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

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

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

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

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

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

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

[培训]《安卓高级研修班(网课)》月薪三万计划,掌握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法

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

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

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

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

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

     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
雪    币: 1844
活跃值: (35)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
yingyue 2009-10-8 21:13
7
0
Sorry , I   don't    English .
雪    币: 22
活跃值: (48)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
许胜 2009-10-8 21:19
8
0
上午,电脑输入法被某不知名病毒侵袭,结果,写了2句小英语,也不知道语法对不对,我大学时候,老师就让我学了半学期英语,都高中的记忆了。

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

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

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

比如:
111111111
111

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