基于虚拟机机的代码保护技术

简介: 基于虚拟机机的代码保护技术

 虚拟机保护技术是基于x86汇编系统的可执行代码转换为字节码指令系统的代码,以达到保护原有指令不被轻易逆向和篡改的目的。

字节码(Byte-code)是一种包含执行程序,由一序列 op 代码/数据对组成的 ,是一种中间码。字节是电脑里的数据量单位。

image.gif 编辑

虚拟机保护原理

虚拟机保护技术是基于x86汇编系统的可执行代码转换为字节码指令系统的代码,以达到保护原有指令不被轻易逆向和篡改的目的。

字节码是由指令执行系统定义的一套指令和数据组成的一串数据流

虚拟机执行时,VStartVM部分初始化虚拟机,VMDispatcher调度这些Handler。

如果将其看成一个CPU,字节码就是CPU中执行的二进制代码。

指令分类

按功能分为普通指令,栈指令,流指令,不可模拟指令4类

不可模拟指令就是无法再次模拟的指令,int3,sysenter,in,out

启动框架和调用约定

调度器

VStartVM将真实环境压入栈后会生成VMDispatcher的标签,当Handler执行完毕之后跳回到这里,形成一个循环,所以VStartVM也叫作“dispatcher”

esi指向字节码的起始地址,ebp指向VM栈顶,edi指向VMContext

Handler

不是Windows中的句柄,而是一段小程序或者一段过程

是由VM中的调度器来调用的

    • 辅助Handler(执行一些重要的,基本的指令)
    • 普通Handler(执行普通的x86指令)

    辅助Handler主要是处理栈的Handler

    未完待续

    image.gif 编辑


    相关文章
    |
    7月前
    |
    监控 Oracle Java
    《深入浅出Java虚拟机 — JVM原理与实战》带你攻克技术盲区,探索各大JVM虚拟机特色 —— JVM故障排除指南(先导篇)
    《深入浅出Java虚拟机 — JVM原理与实战》带你攻克技术盲区,探索各大JVM虚拟机特色 —— JVM故障排除指南(先导篇)
    127 0
    |
    6月前
    |
    监控 Java 调度
    探秘Java虚拟机(JVM)性能调优:技术要点与实战策略
    【6月更文挑战第30天】**探索JVM性能调优:**关注堆内存配置(Xms, Xmx, XX:NewRatio, XX:SurvivorRatio),选择适合的垃圾收集器(如Parallel, CMS, G1),利用jstat, jmap等工具诊断,解决Full GC问题,实战中结合MAT分析内存泄露。调优是平衡内存占用、延迟和吞吐量的艺术,借助VisualVM等工具提升系统在高负载下的稳定性与效率。
    109 1
    |
    1月前
    |
    存储 持续交付 虚拟化
    |
    2月前
    |
    小程序 Java Android开发
    flutter:注意点&快速代码&链接虚拟机&改配置 (一)
    这段内容主要介绍了Flutter开发中的一些注意事项和快速代码示例。首先,在构建Flutter小程序时,`setState`方法只能在`StatefulWidget`和`State`类中使用,且初始化数据应放在`initState`方法内。接着,通过一个简单的示例展示了如何构建一个包含`Scaffold`的基本Flutter应用,并指出了在`MaterialApp`中移除调试横幅的方法。此外,文档还提供了关于搭建Flutter开发环境、配置虚拟机、解决安装错误以及配置相关文件(如`build.gradle`)的指导信息。
    |
    7月前
    |
    缓存 算法 安全
    【JVM故障问题排查心得】「Java技术体系方向」Java虚拟机内存优化之虚拟机参数调优原理介绍(二)
    【JVM故障问题排查心得】「Java技术体系方向」Java虚拟机内存优化之虚拟机参数调优原理介绍
    74 0
    |
    7月前
    |
    缓存 Java C#
    【JVM故障问题排查心得】「Java技术体系方向」Java虚拟机内存优化之虚拟机参数调优原理介绍(一)
    【JVM故障问题排查心得】「Java技术体系方向」Java虚拟机内存优化之虚拟机参数调优原理介绍
    166 0
    |
    4月前
    |
    Java 数据安全/隐私保护 Windows
    【Azure Developer】使用Java代码启动Azure VM(虚拟机)
    【Azure Developer】使用Java代码启动Azure VM(虚拟机)
    |
    5月前
    |
    边缘计算 人工智能 测试技术
    什么是虚拟机技术?
    拟机技术作为现代计算环境中的重要组成部分,极大地丰富了我们对资源管理和系统部署的理解与实践。本文将深入探讨虚拟机的定义、工作原理、应用场景、优势、主要技术以及未来发展趋势,帮助读者全方位地理解虚拟机这一强大技术。
    192 7
    |
    6月前
    |
    存储 IDE 开发工具
    【读书笔记】 玩转虚拟机基于Vmware+Windows 虚拟化技术
    【读书笔记】 玩转虚拟机基于Vmware+Windows 虚拟化技术
    |
    7月前
    |
    存储 安全 Java
    深入探究Java虚拟机(JVM)的技术细节
    深入探究Java虚拟机(JVM)的技术细节