前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布

UzzzzZ

作者头像
UzJu@菜菜狗
发布2023-10-20 15:57:24
2290
发布2023-10-20 15:57:24
举报
文章被收录于专栏:UzJu和菜菜狗

(前言:很多的小伙伴基本上信心满满的下载了一个辅助,拖入PEID查壳,看到.vmp1的字样就放弃了,因为VMP确实挺难的,更何况加上一个虚拟机的检测。)

正题!

  1. 我们先来看看虚拟机检测是什么样子的。

这是我在市场上随便抓来的一款检测虚拟机的辅助。这句话的意思是(Sorry,this application coannot run under a Virtual Machine)请勿在虚拟机中运行程序的意思。

那么要破解有这玩意可不行啊,很麻烦的,大家都知道OD是动态调试工具。那这种检测都不能发挥OD的功能呀,我们来解决掉这个虚拟机检测吧。

  1. 载入OD

日常VM,一堆看不懂的。哈哈哈哈。

3.VMP虚拟机检测的原理(针对3.0以上的VMP壳)

(VMP3.x 以上的版本的壳代码引入了一个标志位数值 Flags, 根据这个Flags值的位执行对应的事情。 比如: and 2 = 2 表示检测用户层调试器 and 4 = 4 表示检测内核调试器

and 10 = 10 表示检测虚拟机

只要将这个值修改为0,调试器和虚拟机检测甚至内存校验,文件校验都直接bypass. ( ps: 写了这么多壳代码就这么简单就过了:) 那么现在的问题是如何快速定位到这个值。这里介绍一种比较简单快速的方法,测试了几个程序都有效。)

  1. Ctrl+G搜索LocalAlloc.

来到这里之后可以看到一个Push,细心的人可能已经看到了,这里是系统领空。

F2下一个断点,运行之后程序会被断下来。

接下来就在堆栈窗口右键查找地址-搜索HEX地址00400000。

来到这里之后可以看到有两个00400000

找到第二个下面的0000001F修改这个数值。

全部修改为0。

点击确定之后,跑程序,就会有惊喜哦。

可以看到完美的躲过了虚拟机检测。

接下来能不能破解就是看个人了。

VMP3.x 以上的版本的壳代码引入了一个标志位数值 Flags, 根据这个Flags值的位执行对应的事情。 比如: and 2 = 2 表示检测用户层调试器 and 4 = 4 表示检测内核调试器 and 10 = 10 表示检测虚拟机 只要将这个值修改为0,调试器和虚拟机检测甚至内存校验,文件校验都直接bypass. ( ps: 写了这么多壳代码就这么简单就过了:) 那么现在的问题是如何快速定位到这个值。这里介绍一种比较简单快速的方法,测试了几个程序都有效。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-04-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
腾讯云服务器利旧
云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档