首页| JavaScript| HTML/CSS| Matlab| PHP| Python| Java| C/C++/VC++| C#| ASP| 其他|
购买积分 购买会员 激活码充值

您现在的位置是:虫虫源码 > PHP > plato-x86-simulator

plato-x86-simulator

  • 资源大小:0.00 B
  • 上传时间:2021-06-30
  • 下载次数:0次
  • 浏览次数:0次
  • 资源积分:1积分
  • 标      签:

资 源 简 介

Plato是一个使用PHP语言编写的x86模拟器。 Plato的基本构成是一个虚拟机。通过虚拟x86的机器环境,Plato可直接执行机器指令。机器指令使用Windows的PE(EXE/DLL)格式进行封装,并附加一些特别的规定对文件进行约束。因而,尽管Plato需要在PHP环境中运行,但并不需要额外的扩展支持,也能执行符合规范的PE文件。 目前可以使用C语言编写PE文件。Plato提供了所需的宏和函数定义文件。 Plato的内部是由多个模块和构件组成的,其中包括文件加载器、CPU模拟器(调度器/解码器/通用寄存器/ALU)、内存模拟器、PE文件分析解码器,以及异常处理器、简易反汇编引擎和服务子程序处理器等。同时,通过版本扩展机制,Plato还可执行不同版本规范约束下的PE文件。 目前,Plato支持超过70条指令,并基本完整地实现了它们的的执行逻辑。不过,还不支持MMX/SSE等扩展指令集。 Plato通过地址中断的形式提供“服务子程序”功能。通过使用服务子程序,PE文件可以与PHP环境进行交互。服务子程序维持一个参数池和变量池,参数池保存了调用函数时所需的参数,而变量池则用于管理PHP变量。PE文件通过调用服务子程序,可以向PHP环境注册一个函数,也可以调用PHP语言结构/函数,此外还实现了异常处理(try-catch-final)和断点调试(断点回调)等功能。 相关页面 开发和运行需要的环境,请点击这里查看。 如何开发Plato环境可以使用的PE文件,请点击这里查看。 如何在PHP文件中调用Plato执行PE文件,请点击这里查看。 想知道异常处理

文 件 列 表

debug.php
function.php
source
file.c
function.c
memory.c
register.c
try_catch_final.c
common.php
VIP VIP
  • Mason 1小时前 成为了本站会员

  • 2小时前 成为了本站会员

  • Half_Punch 1天前 成为了本站会员

  • liqing71718 1天前 成为了本站会员

  • 伟国 1天前 成为了本站会员

  • songy 1天前 成为了本站会员

  • 纯色幽默 1天前 成为了本站会员

  • odd? 1天前 成为了本站会员

  • 52JOY... 1天前 成为了本站会员

  • Sirius 2天前 成为了本站会员

0.179008s