代码重用之可执行环境模拟
一段python代码,可能只需要复制粘贴,安装依赖库就可以运行,可以在任何支持python运行的操作系统中运行;
一个ELF文件,需要对应的操作系统、指令架构平台、依赖库才能运行;
脚本语言运行时依赖虚拟机,照搬到PE文件或ELF文件,当然现在有VMare、PD等虚拟机,一个脚本语言的解释器安装很方便,但是要一个可执行文件的运行环境安装一个虚拟机软件和一个完整的操作系统,过于臃肿、大材小用了,是否有一种类似与解释器的方式来解释执行一个可执行文件呢?或者一个更轻量的虚拟机呢?
指令集模拟器
不依赖真实芯片、可以白盒地观察和获取模拟器的任意状态
解释型模拟器(Spike)
翻译型模拟器(QEMU)
全功能模拟环境
最小化功能模拟环境
沙箱环境
iot会需要单一操作系统(Linux),多指令架构平台(arm、arm64、mips、x86)的仿真,
Android runtime仿真:
https://bbs.pediy.com/thread-272605.htm
unidbg
https://github.com/zhkl0228/unidbg