Advertisement

ubuntu12.04-64位系统上安装s2e过程

阅读量:

S2E工具适用平台

host OS : 64位ubuntu12.04或者64位Mac OS

guest操作系统:要运行S2E应用,请确保虚拟机支持QEMU协议的虚拟化磁盘图像。S2E可以运行任何基于x86的操作系统在虚拟机内。任何基于x86的操作系统都可以运行。

相比bitblaze的TEMU系统,在其他平台上表现则较为受限

s2e官网: https://dslabredmine.epfl.ch/embedded/s2e/index.html

参考文章: <>

一。在ubuntu12.04-32位下安装:

安装s2e遇到的问题

configure: 错误提示:C编译器无法生成可执行文件
See config.log中的详细信息。
make命令输出:构建工具报告错误提示号为77

configure: 错误提示:C编译器无法生成可执行文件
See config.log中的详细信息。
make命令输出:构建工具报告错误提示号为77

于是找到config.log查看详细错误发现:

/usr/bin/ld.bfd.real: cannot find crt1.o: No such file or directory

/usr/bin/ld.bfd.real: cannot find crti.o: No such file or directory

错误太多,需要编译生成的文件还差很多。于是重新装了个ubuntu12.04 64位系统。

二。在ubuntu12.04-64位下安装:

**1.build s2e
**

**make时遇到问题如下图:
**

但是此次编译生成了QEMU-release文件夹,暂时忽略上面错误。

2.安装guest系统

在qemu上安装的镜像是debian-7.6.0-i386-CD-1.iso.

debian系统安装sudo,参见 http://blog.sina.com.cn/s/blog_6c9d65a10101ces2.html

在安装好系统后进入系统执行apt-get install build-essential时会遇到错误提示:软件包build-essential无可用安装源版本。查看依赖源列表发现其中只有updates软件仓库因此需要至少添加一个标准仓库以解决此问题

复制代码
    deb http://ftp.debian.org/debian/ 版本名 main contrib non-free

)。参见 http://stackoverflow.com/questions/11955505/debian-squeeze-apt-get-errors

VM镜像的相关需求和建议:

*为了在vanilla QEMU中部署操作系统是最有效的方式。通过使用vanilla QEMU实现的操作流程能够显著提升效率。通常情况下,在 vanillasystem 环境下完成所有的安装和构建操作是最佳选择。

始终备份最新版本的操作系统。建议每次分析工作前都从全新的操作系统版本进行备份操作。例如,在测试设备驱动后不再使用同一个镜像来进行电子表格组件的分析。每个镜像仅用于一次分析。

  • 当基于S2E格式构建好的镜像即将被用于符号执行模式运行时,请生成一个快照副本以便在S2E-enabled QEMU环境中运行它。此步骤并非必要但能显著缩短启动时间因为在S2E环境中启动单个镜像所需的时间较为漫长。

建议为 guest operating system 提供 128 mebibytes 的内存配置(或更低配置)。由于 S2E 的运行机制,并不受内存规模的限制,在物理机器上运行则会面临一定的挑战。

  • 禁用桌面主题和一切图形化效果影响以减少资源消耗。

  • 禁用屏幕保护程序。

避免开启所有非必须的功能模块(如远程文件传输、生成打印输出、无线网络设置以及安全防护措施等)以优化内存使用率同时提升处理效率。

不建议在本版本中采用QEMU virtio网络接口模块。该版本中的QEMU整合了此模块,并可能引入潜在的不稳定问题。

安装好guest系统后要实现host系统与它的文件传输,这里使用的时scp。

请注意,在进行SCP操作时,请确保hostguest端都需要启动SSH连接以避免数据丢失。然而,在启用了SSH服务之后发现双方都无法通过SCP传输文件,并且ping测试也无法通过,请检查相关的网络配置设置是否有误。

全部评论 (0)

还没有任何评论哟~