精华内容
下载资源
问答
  • 安卓框架虚拟机VirtualXposed v0.17.1 清爽版 支持安卓9.0系统VirtualXposed 是基于VirtualApp 和 epic 在非ROOT环境下运行Xposed模块的实现(支持5.0~9.0)。一直以来Xposed框架最大的入门难度就在于设备需要Root,...

    安卓框架虚拟机VirtualXposed v0.17.1 清爽版 支持安卓9.0系统

    VirtualXposed 是基于VirtualApp 和 epic 在非ROOT环境下运行Xposed模块的实现(支持5.0~9.0)。一直以来Xposed框架最大的入门难度就在于设备需要Root,然后还要Recovery,还有承担变砖的各种搞基风险,现在这一切都不用再担心了!感谢Xposed作者rov89,感谢VirtualApp作者asLody@github!目前来看VirtualXposed的稳定性已经相当出色了!

    大咖猫截图:

    2ac5930882bf1c29d8bde33efe36cba4.png

    修改说明:

    ·现在你可设置 VirtualXposed 为系统桌面。

    ·紧急修复 0.14.0 带来的问题。

    ·Xposed稳定性提升:修复某些设备上疯狂闪退的问题。

    ·初步支持 Android 9.0。

    ·修复 Android 8.0相关问题。

    ·修复支付宝某些页面打不开的问题。

    ·修复某些APP无法打开的问题。

    下载地址:

    展开全文
  • Joomla!是一套在国外相当知名的内容管理系统。Joomla!...目前是由Open Source Matters(见扩展阅读)这个开放源码组织进行开发与支持,这个组织的成员来自全世界各地,小组成员约有150人,包含了开发者、设计者、系统...
  • VirtualXposed可帮助你在手机没有Root的情况下使用Xposed框架。0.18.2为最新稳定版,支撑Android 10
  • Java虚拟机总体框架

    2019-11-09 22:53:29
    Java虚拟机总体框架 Java源代码经过javac编译后变成Java Class字节码文件,然后通过类加载器(ClassLoader)加载到JVM中去运行。 类被放置在方法区,实例对象被放置在堆中,而堆里的对象在调用方法的时候又会...

    Java虚拟机总体框架

    在这里插入图片描述
    Java源代码经过javac编译后变成Java Class字节码文件,然后通过类加载器(ClassLoader)加载到JVM中去运行。
    类被放置在方法区,实例对象被放置在堆中,而堆里的对象在调用方法的时候又会用到虚拟机栈、程序计数器以及本地方法栈。更详细的内容可以看我这篇笔记JVM内存划分详述笔记
    方法执行时,每行代码时被执行引擎中的解释器逐行进行执行。方法中的热点代码(被经常运行的代码)会被JIT Compiler优化后执行。GC模块会对堆里面不再被引用的代码进行垃圾回收。
    有些Java代码不方便实现的功能,例如需要调用底层代码的功能,需要借助本地方法接口调用操作系统提供的一些方法。

    展开全文
  • JAVA虚拟机整体框架 后续逐步完善系列文章

    JAVA虚拟机整体框架

    后续逐步完善系列文章
    JVM

    展开全文
  • Neo 虚拟机

    2018-12-27 21:56:20
    上一篇《Neo 编译器》中说明了Neo编译器是怎么把CIL转成neo虚拟机的opcode,那么vm虚拟机又是怎么处理这些代码的,这篇文章我们看一下虚拟机的代码。 框架 虚拟机所处的位置 在框架图中,我们可以看出Virtual ...
        

    上一篇《Neo 编译器》中说明了Neo编译器是怎么把CIL转成neo虚拟机的opcode,那么vm虚拟机又是怎么处理这些代码的,这篇文章我们看一下虚拟机的代码。

    框架

    clipboard.png

    虚拟机所处的位置

    在框架图中,我们可以看出Virtual Machine有以下作用

    1. 读取Opcode(smart contract),在Execution Engine中执行
    2. Execution Engine可以进行逻辑运算
    3. Interop Service可以调用External Data
    4. 系统调用(OP_SYSCALL)可以访问区块链账本的信息

    下面我们先看一下虚拟机如何读取Opcode。

    VM对象关系

    下面展示的图不是UML, UML太麻烦,还是脑图比较符合思维逻辑的发展。

    clipboard.png

    关键的几个对象

    1. Execution Engine:执行引擎
    2. Execution Context:执行上下文
    3. Stack Item:堆栈的一条数据
    4. Crypto:C#的加密库

    执行引擎

    clipboard.png

    1. IScriptTable里面存贮了AppCall命令可以调用的其他contract的代码,这一块需要研究一下区块链的实现,这个以后再仔细研究。
    2. InteropService专门用来响应SYSCALL,具体有哪些是系统调用,用来干什么的,后面通过例子再来说明。
    3. InvocationStack是调用栈,传入参数,调用其他合约都会有一个新的调用栈
    4. EvaluationStack是计算栈,用来执行操作
    5. AltStack是备用栈,计算栈算出的中间结果可以保存在备用栈

    执行上下文

    clipboard.png

    执行上下文

    每个变量都蛮好理解的,重点是下面看看怎么用的。

    vm执行流程

    clipboard.png

    vm代码执行流程

    1. 构造,此时可以传入script container,script
      table,后面我们看看在区块链上这些都是从哪里来的,这里只专注于vm的执行流程,暂且不深究了。
    2. 加载.avm,avm是编译器编译出来的一串数字,通过engine.LoadScript可以加载。

    execute开始执行, 下面看一下代码

       public void Execute()
            {
                State &= ~VMState.BREAK;
                while (!State.HasFlag(VMState.HALT) && !State.HasFlag(VMState.FAULT) && !State.HasFlag(VMState.BREAK))
                    StepInto();
            }
     public void StepInto()
            {
                if (InvocationStack.Count == 0) State |= VMState.HALT;
                if (State.HasFlag(VMState.HALT) || State.HasFlag(VMState.FAULT)) return;
                OpCode opcode = CurrentContext.InstructionPointer >= CurrentContext.Script.Length ? OpCode.RET : (OpCode)CurrentContext.OpReader.ReadByte();
                try
                {
                    ExecuteOp(opcode, CurrentContext);
                }
                catch
                {
                    State |= VMState.FAULT;
                }
            }

    看一下这行代码,OpCode opcode = CurrentContext.InstructionPointer >= CurrentContext.Script.Length ? OpCode.RET : (OpCode)CurrentContext.OpReader.ReadByte();

    1. 代码执行完了以后,插入OpCode.RET
    2. 如果不是RET,则read一个字节的opcode

    ExecuteOp函数就是具体的执行OpCode的语义,我们通过一个例子来说明

    具体的一个例子

    还是上次的那个代码

    using Neo.SmartContract.Framework;
    using Neo.SmartContract.Framework.Services.Neo;
    
    public class Sum : SmartContract
    {
        public static int Main(int a, int b)
        {
            return a + b;
        }
    }
    

    测试虚拟机的代码

    using System;
    using System.IO;
    using System.Linq;
    using Neo;
    using Neo.VM;
    using Neo.Cryptography;
    
    namespace ConsoleApplication1
    {
        class Program
        {
            static void Main(string[] args)
            {
                var engine = new ExecutionEngine(null, Crypto.Default);
                engine.LoadScript(File.ReadAllBytes(@"C:\……\Test1.avm")); 
    
                using (ScriptBuilder sb = new ScriptBuilder())
                {
                    sb.EmitPush(4); // 对应形参 b
                    sb.EmitPush(3); // 对应形参 a
                    engine.LoadScript(sb.ToArray());
                }
    
                engine.Execute(); // 开始执行
    
                var result = engine.EvaluationStack.Peek().GetBigInteger(); // 在这里设置返回值
                Console.WriteLine($"执行结果 {result}");
                Console.ReadLine();
            }
        }
    }
    

    执行的具体过程

    生成的代码太长了,需要有点耐心才能看完,如果图片不清晰,可以去代码仓库下载pdf

    clipboard.png

    具体的执行过程

    总结

    文章只是过了一下一个简单的代码,后面我们需要研究一下系统调用和访问外部存贮,智能合约之间互相调用的情况。

    作者:沈寅
    原文链接:https://www.jianshu.com/p/b7a...

    展开全文
  • 主要介绍了Laravel框架在本地虚拟机快速安装的方法,结合实例形式较为详细的分析了Laravel框架的安装步骤、操作注意事项,并附带说明了centos7环境下php7编译安装curl扩展的具体操作步骤,需要的朋友可以参考下
  • 浅析Python虚拟机执行框架 2010-02-24 10:39 佚名 CSDN 字号:T | T 下面的文章大家即将看到Python虚拟机的整体执行框架,大家还可以看到Python虚拟机在执行过程中不断使用的执行环境。 AD: ...
  • .Net框架 比 Java虚拟机 先进多了。 1. .Net吸纳了Java的优点,Program once, runanywhere,有关跨平台方面,有一个叫Mono的项目组进行,而且已经开发了十年。如果不出意外,将来真的是runanywhere。 2..Net在...
  • javad的虚拟机知识的学习参考了周志明的《深入理解java虚拟机》。 Java虚拟机时java的核心。下图是虚拟机的轮廓图,也就是JRE的架构。 在上图中可以看到红框内的是JVM的内存分配图。当然虚拟机的使用内存并不...
  • C#虚拟机-脱离.NET框架运行。可以实现无.NET框架运行C#程序。
  • 利用ZooKeeper框架在Vmware虚拟机中搭建3台Linux分布式集群
  • TraceVirt:用于检测虚拟机中非篡改攻击的框架
  • RewriteEngine on RewriteBase / RewriteCond %{REQUEST_URI} !^.+\.\w+ RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ /index.php/$1 [L]
  • Java虚拟机知识框架

    千次阅读 2019-03-21 20:55:51
  • 3.导入 Homestead Box 虚拟机盒子 4.安装 Git 5.安装 Homestead 管理脚本 6.配置 Homestead.yaml 文件 7.启动 Homestead 虚拟机 详情查看 开发环境搭建 - Windows 二、虚拟机启动和关闭 1.启动 Home
  • 我分享一个虚拟机硬盘给你,只要你下载下来,通过 VMWare 导入,即可无需任何配置,拿到一个能构建 WPF 官方源代码的全构建环境。可以用来只做你的定制版的 WPF 框架 现在 WPF 完全开源,但是构建的过程中需要...
  • 根据云计算平台的特点,提出一种新型虚拟机动态迁移框架,并在Xen和KVM这2种典型的开源虚拟机监控器基础上,实现原型系统。测试结果表明,在不同类型计算资源的环境下,该动态迁移框架具有良好的性能,能够对动态...
  • # /usr/libexec/qemu-kvm -M help Supported machines are: pc RHEL 7.6.0 PC (i440FX + PIIX, 1996) (alias of pc-i440fx-rhel7.6.0) pc-i440fx-rhel7.6.0 RHEL 7.6.0 PC (i440FX + PIIX, 1996)...
  • 在此框架基础上,以某国产服务器为实验平台,构建云环境,实现一个面向Xen环境的UEFI虚拟机动态安全原型系统。实验与分析表明,该框架能够有效检测针对虚拟域,管理域和虚拟化软件的攻击,为云系统提供来自基础设施...
  • 以太坊 EVM虚拟机框架分析

    千次阅读 2018-09-28 12:46:42
    最近比较迷恋solidity和EVM,solidity研究了不少,发现还是需要结合EVM才能理解的比较透彻,最近准备详细研究一些EVM。研究了一下源码,发现EVM貌似会有新的版本,叫EWASM;不过现在貌似还没有应用,据说改动很大;...
  • 虚拟机集群为粒度单位的多Agent组织框架研究
  • 无聊的时候在虚拟机里搭建了开发环境,并把项目移植到虚拟机里开发,但是发现验证码失效了!! 项目开发用的是thinkphp框架,那么看一下验证码哪里的代码吧。 1、Thinkphp验证码是要基于session的,所以检查...
  • class文件分析工具和虚拟机架构

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 5,889
精华内容 2,355
关键字:

框架虚拟机