VMP源码泄露后的一些分析和用途

admin 2023年12月8日19:07:12评论55 views字数 1524阅读5分4秒阅读模式
当谈及VMP(Virtual Machine Protect)源码时,我们必须理解它的基本作用和目的。VMP是一种用于软件保护的虚拟机解决方案,旨在通过虚拟化和加密技术来保护应用程序免受逆向工程和未授权访问的威胁。该源码通常由程序员用于保护其软件免受盗版和未经授权的修改。


VMP的作用
1.逆向工程保护:VMP通过将原始代码转换为虚拟指令,使得对程序的逆向工程变得更加困难。这种虚拟化的指令是自定义的,与真实的指令不同,使得分析者难以理解和还原原始代码逻辑。

2.加密保护:VMP能够对程序进行加密,防止未经授权的访问。即使有人能够获取程序文件,但由于其加密特性,无法直接进行代码分析或修改。

3.防止调试和修改:VMP还能够检测和阻止程序被调试、修改或篡改,这有助于保护程序的完整性和安全性。

4.虚拟机混淆:通过将程序放置在一个虚拟环境中执行,VMP使得攻击者难以理解程序的真实执行逻辑,从而增加了程序的安全性。


VMP源码泄露后的一些槽点
鉴于源码完整的泄露,里面的引用更加明显了,特别是涉及使用了 GPL(GNU General Public License)协议DemanglerGnu,libffi
(哪怕没源码,你也可以直接找到其中的符号,如图)
(官网最新的Demo版本仍旧有引用,并且这是强依赖)

Hex视图:


VMP源码泄露后的一些分析和用途

源码视图:


VMP源码泄露后的一些分析和用途
其中有两个以上的GPL,至于具体哪些库涉及了版权问题,自己看图。

在这里吐槽一下VMP的版权声明:
VMP源码泄露后的一些分析和用途
(你为啥不开源呢?
此外,对于VMP的版权声明,存在一些争议,特别是在考虑到DemanglerGnu作为gcc的一部分,以GPL协议开源。GPL协议要求以GPL许可证发布的软件及其派生品,必须也采用GPL协议。因此,VMP源码的一部分可能也需要以GPL协议开放。

(个人认为使用vmp加密商业软件或许有版权风险)


VMP加壳流程分析
在VMP中的intel.cc文件,首先对可执行文件进行解析,然后逐一处理其中的函数并进行加密。这个过程涉及PE、ELF和Mac格式的解析,接着生成函数列表并对其进行加密。加密操作是基于函数单位进行的,其中在IntelFunction::Compile函数内部实现了三个不同等级的加密:变异、虚拟和虚拟+变异,这三种加密方式各具特色。

如下图:

VMP源码泄露后的一些分析和用途

这里是虚拟机编译的一个预览:


VMP源码泄露后的一些分析和用途

以及这依托的case:


VMP源码泄露后的一些分析和用途

还有让无数人头大的变异函数:


VMP源码泄露后的一些分析和用途



VMP源码的再利用
1.面向于linux方面的加壳

众所周知,vmp windows版本默认是没有linux二进制加壳的,默认只有针对so的加壳,基于源码小改便可以进行linux加壳,包括调用其sdk的hwid函数,实现linux下的授权分发,如图:


VMP源码泄露后的一些分析和用途

接下来就是加壳:


VMP源码泄露后的一些分析和用途

运行:


VMP源码泄露后的一些分析和用途

一切完美运行,没有任何报错。

2.针对Unity il2cpp的加壳

这里是一个Demo,本人仅在本地测试。
使用Golang+Next.Js(Wails)以及CGO链接VMP的Core。
其中il2cpp scanner使用
https://github.com/djkaty/Il2CppInspector的重构版本(简单实现一个RPC服务端来与GUI交互)。

基于这些便可以实现如:


VMP源码泄露后的一些分析和用途(由于偷懒直接用了某游戏UA来测试,offset糊掉以免出事)
一样针对il2cpp函数的自动加壳。
就此便是我对源码泄露后的一些个人见解。
本文为本人原创,首次发帖,内容不佳请多多指正。

VMP源码泄露后的一些分析和用途

看雪ID:LIGHTENINGX

https://bbs.kanxue.com/user-home-991182.htm

*本文为看雪论坛优秀文章,由 LIGHTENINGX 原创,转载请注明来自看雪社区

原文始发于微信公众号(看雪学苑):VMP源码泄露后的一些分析和用途

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年12月8日19:07:12
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   VMP源码泄露后的一些分析和用途https://cn-sec.com/archives/2280919.html

发表评论

匿名网友 填写信息