该文被密码保护。 Read More
posted @ 2018-09-24 22:01 ccxikka Views(17) Comments(0) Diggs(0) Edit
LibVMI是一个专注于读写虚拟机内存的自省库,它能够监视虚拟机底层的运行细节并将其还原。LibVMI支持对Xen及KVM虚拟化平台上的运行虚拟机进行自省操作,针对KVM虚拟化平台,LibVMI对QEMU进行修改以提供虚拟机物理内存的读写接口,基于LibVMI的自省程序通过本地Unix socket Read More
posted @ 2018-09-24 21:15 ccxikka Views(3517) Comments(0) Diggs(1) Edit
QMP是一种基于JSON格式的传输协议,可使用QMP与一个QEMU虚拟机实例进行交互,例如查询虚拟机的相关状态等,以下就QMP的使用进行简单介绍。 可以通过libvirt向一个运行的虚拟机发送qmp命令,也可以使用qemu命令启动一个虚拟机,之后发送qmp命令。上述两种方式各有优点,第一种方式可用于 Read More
posted @ 2018-09-24 18:25 ccxikka Views(5438) Comments(0) Diggs(0) Edit
上篇文章中讲到Python中调用外部c文件可以有两种方法,一是使用cffi.verify()的形式使用,但是该种方式仍然需要进行函数声明。二是将外部c文件编译成为函数库,然后通过cffi进行使用。 由于第二种方法比较常用,在开源项目中使用较多,因此就第二种方法进行简单实验,主要分为两个步骤:编写c函 Read More
posted @ 2018-09-14 17:59 ccxikka Views(2110) Comments(0) Diggs(0) Edit
cffi是连接Python与c的桥梁,可实现在Python中调用c文件。cffi为c语言的外部接口,在Python中使用该接口可以实现在Python中使用外部c文件的数据结构及函数。 由于资料较少,所以对cffi的原理还不是十分熟悉,此处仅从使用进行简单介绍。 所了解的使用方式有以下几种:1)直接在 Read More
posted @ 2018-09-13 22:30 ccxikka Views(16183) Comments(0) Diggs(1) Edit
该文被密码保护。 Read More
posted @ 2018-08-28 17:33 ccxikka Views(13) Comments(0) Diggs(0) Edit
(a)git工具的简单使用: git init //初始化一个本地仓库 git config user.name username git config user.email email//设置git用户邮箱及密码 git add <filename>//将文件添加到缓存区 git commit – Read More
posted @ 2018-08-20 15:44 ccxikka Views(143) Comments(0) Diggs(0) Edit
上篇文章主要分析了qemu中对虚拟机内存管理的关键数据结构及他们之间的联系,这篇文章则主要分析在地址空间发生变化时,如何将其更新至KVM中,保持用户空间与内核空间的同步。 这一系列操作与之前说的AddressSpace注册绑定的listener相关,针对地址空间注册listener的操作在函数kvm Read More
posted @ 2018-08-16 21:00 ccxikka Views(2533) Comments(0) Diggs(0) Edit
在分析了KVM中对虚拟机各级地址(gva->gpa->hva->hpa)的转换之后,想要知道qemu中又是如何完成各级地址转换的,因此对qemu中对虚拟机内存管理的相关数据结构与源码进行了分析。qemu中对于虚拟机内存管理涉及的数据结构较多,仅gpa->hpa的转换过程涉及的数据结构就有:Memor Read More
posted @ 2018-08-15 16:36 ccxikka Views(9186) Comments(2) Diggs(1) Edit
(1)查看qemu版本:qemu-img --help |grep version (2)a、查看libvirt版本:libvirtd -V 或者virsh --version b、出现下述错误时: 解决:启动libvirt: libvirtd -d virtlogd -d c、问题:使用libvi Read More
posted @ 2018-07-25 09:59 ccxikka Views(1056) Comments(0) Diggs(0) Edit