Tsirius 发表于 2024-3-20 23:06

VMP壳内爆破遇到问题

这次实战内容为某软件脚本,壳是VMP的。以下是分析过程,还请大家指点错误并纠正。

1.对于VMP的强壳想偷懒(尝试esp定律,二次内存镜像,最后一次异常法,模拟跟踪,sfx跟踪无果后),直接尝试壳内爆破,直接载入od。

2.先运行程序,再下massageboxa断点,再输入假码。


3.启动后停在断点处,可以看到注释处为卡密不存在弹窗。


4.继续单步跟踪出retn,发现乱码从模块中删除分析。


5.由于上面没有跳过call的转点,下面也没有,包括下面出rten也没看到。只有将上面call下断点。

6.此时再次启动程序,输入假码确定后后停在该断点处,然后步入进去看看call里面。

7.接着步过,发现连续4个jmp跳转后。




8.出去rten发现程序运行到了之前断点处。

由此可以看到已经进行了循环,但是总结出关键爆破点应该就在4次jmp跳转的某个地方会跳转为注册成功,尝试各种nop后发现程序会崩溃,最终放弃尝试。特发此贴求助各位指点一下,谢谢大家。包括VMP壳想去掉感觉也是很有难度的(VMP壳有检测是否在虚拟机和调试器中运行,我是用的过检od才能正常运行程序,另外此软件具有自动检测更新功能,过一段时间大概几周会自动更新,此时od载入的区段也完全不一样)。

byh3025 发表于 2024-3-21 14:49

Tsirius 发表于 2024-3-21 14:18
所以才想着壳内爆破,但是又被vm虚拟化了,而且被经常看教程视频洗脑了,视频说根本就没有破不了的壳,只 ...

什么壳并不可怕,可怕的是代码被虚拟化,这种情况都是大神根据源码找出验证的漏洞进行破解的,所以你要知道是何种验证,然后再去找对应的方法,自己跟的话几千行的虚拟代码看都看晕了

Tsirius 发表于 2024-3-21 14:55

byh3025 发表于 2024-3-21 14:49
什么壳并不可怕,可怕的是代码被虚拟化,这种情况都是大神根据源码找出验证的漏洞进行破解的,所以你要知 ...

多谢提醒,你让我意识到了虚拟化的恐怖性,脱壳和破解不是一味的单步跟踪,并且提供了一种全新思路,但是目前我不知道有哪些验证方式,我会去多加学习的。

bester 发表于 2024-3-21 08:14

丢回收站吧,这段代码被vm掉了,至于什么是vm,你自己搜一下 vm混淆

scncrenyong 发表于 2024-3-21 08:41

单步跟对VMP代码虚拟化没用。绕晕。

jiachenhui 发表于 2024-3-21 08:59

都v了还跟啥啊,判断出什么验证山寨或者封包

Tsirius 发表于 2024-3-21 09:54


丢回收站吧,这段代码被vm掉了,至于什么是vm,你自己搜一下 vm混淆
感谢指导,我还是对vm了解太少,会多去网上了解一下什么是vm

Tsirius 发表于 2024-3-21 09:55


单步跟对VMP代码虚拟化没用。绕晕。
vmp代码虚拟化后,只能通过脱壳来达到破解的目的吗

Tsirius 发表于 2024-3-21 10:00


都v了还跟啥啊,判断出什么验证山寨或者封包
可不可以具体一点,如何去判断验证山寨或者封包,是不是通过HOOK手段,针对 send 和 recv 类函数进行拦截,获得软件封包数据。

byh3025 发表于 2024-3-21 12:26

Tsirius 发表于 2024-3-21 09:55
vmp代码虚拟化后,只能通过脱壳来达到破解的目的吗

脱VMP?有点异想天开了

situhaonan 发表于 2024-3-21 13:23

上软件,否则不好说

Tsirius 发表于 2024-3-21 14:18

本帖最后由 Tsirius 于 2024-3-21 14:35 编辑

byh3025 发表于 2024-3-21 12:26
脱VMP?有点异想天开了
所以才想着壳内爆破,但是又被vm虚拟化了,而且被经常看教程视频洗脑了,视频说根本就没有破不了的壳,只是花点时间而已
页: [1] 2
查看完整版本: VMP壳内爆破遇到问题