计算机科学 ›› 2014, Vol. 41 ›› Issue (1): 39-42.

• 综述 • 上一篇    下一篇

64位Windows ABI虚拟化方法研究

黄聪会,陈靖,龚水清,陈明华   

  1. 空军工程大学信息与导航学院 西安710077;空军工程大学信息与导航学院 西安710077;空军工程大学信息与导航学院 西安710077;中国人民解放军94669部队 芜湖241007
  • 出版日期:2018-11-14 发布日期:2018-11-14
  • 基金资助:
    本文受国家自然科学基金(61172083)资助

Research of Method for Virtualizing 64-bit Windows Application Binary Interface

HUANG Cong-hui,CHEN Jing,GONG Shui-qing and CHEN Ming-hua   

  • Online:2018-11-14 Published:2018-11-14

摘要: 针对64位Windows ABI在Linux上的虚拟化问题,对x86-64ABI在Windows和Linux中的差异进行了分析,提出并研究了实现64位Windows ABI虚拟化的3个关键问题,即程序加载与链接、程序库接口仿真和系统调用仿真。在此基础上,对在用户空间和内核空间实现64位Windows ABI虚拟化的两种解决方案进行了分析,并基于用户空间方案设计实现了一种兼容Win64应用程序的操作系统KgdLinux。实验测试结果表明,64位Windows ABI虚拟化方法是可行的。

关键词: 二进制兼容,虚拟化技术,应用二进制接口,系统调用

Abstract: Aiming at the problem of virtualizing 64-bit Windows ABI on Linux platform,the differences in Windows and Linux x86-64ABI were analyzed,and then the three key issues were proposed and studied to achieve 64-bit Windows ABI Virtualization,which are how to load and link the Windows program,emulate the library interface and the system call.On this basis,the two solutions to achieve 64-bit Windows ABI virtualization on the user space and kernel space of Linux platform were analyzed,and then an operating system named KgdLinux was implemented,which is compatible with Win64applications based on the solution of Linux user space.The result of experimental tests shows the method for virtualizing 64-bit Windows ABI is feasible.

Key words: Binary compatibility,Virtualization technology,Application binary interface,System call

[1] Vallee G,Naughton T,Engelmann C.System-Level Virtualization for High Performance Computing[C]∥Proceedings of 16th Euromicro Conference on Parallel,Distributed and Network-Based Processing.Washington:IEEE Computer Society,2008:636-643
[2] Hazelwood K.Process-Level Virtualization for Runtime Adaptation of Embedded Software[C]∥Proceedings of the 48th Design Automation Conference.New York:ACM,2011:895-900
[3] Smith E,Nair R.虚拟机:系统与进程的通用平台[M].安虹,张昱,昊俊敏,译.北京:机械工业出版社,2009:8-14
[4] Susanta N,Tzi-Cker C.A Survey on Virtualization Technologies[R].USA:ECSL,2005
[5] 黄聪会,陈靖,罗樵,等.面向二进制移植的虚拟化技术[J].计算机应用研究,2012,9(11):4185-4188
[6] Microsoft.Microsoft PE and COFF Specification[EB/OL].http:// msdn.microsoft.com/library/windows/hardware/gg463119.aspx,2013-02-06
[7] 宿继奎,吴亚栋,吕必俊.32位到64位的移植[J].计算机应用与软件,2007,4(3):174-176
[8] Wiki pedia.x86calling conventions[EB/OL].http://en.wikipedia.org/wiki/X86_calling_ conventions,2011-03-20
[9] Bryant A R,Mills R F,Peterson G L.Software Reverse Engineering as a Sensemaking Task[J].Journal of Information Assurance and Security,2012,6(6):483-494
[10] Jing Yi-ming,Ahn G-J,Hu Hong-xin.Model-based Confor-mance Testing for Android[C]∥Proceedings of the 7th International Workshop on Security.Japan:Springer,2012:1-18
[11] Russinovich M E,Solomon D A.Microsoft Windows Internals(the fifth edition)[M].USA,Microsoft Press,2009

No related articles found!
Viewed
Full text


Abstract

Cited

  Shared   
  Discussed   
No Suggested Reading articles found!