0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

可以将Windows DLL加载到Linux的开源loadlibrary

汽车玩家 来源:开源中国 作者:开源中国 2020-03-12 09:18 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

Google 知名漏洞研究人员 Tavis Ormandy 开源了一个可以将 Windows DLL 加载到 Linux 的库loadlibrary,该库允许原生 Linux 程序从 Windows DLL 加载和调用函数。库中包含一个自 ndiswrapper 派生的自定义 PE/COFF 加载器。该库将处理重定位和导入,并提供类dlopenAPI

Tavis 表示,Windows上的分布式、可扩展的模糊测试可能具有挑战性且效率低下。对于使用跨内核和用户空间的复杂互连组件的端安全产品尤其如此。这通常需要颠覆整个虚拟化的 Windows 环境以对其进行模糊测试。但是在 Linux 上,这不是什么大问题,如果可以将 Windows 杀毒软件的组件移植到 Linux,那么就可以在最小的容器中运行测试代码,而开销却很小,并且可以轻松地扩展测试范围。

loadlibrary 的目的是允许在 Linux 上对自包含的 Windows 库进行可扩展和有效的模糊测试,包括视频编解码器、解压缩库、病毒扫描程序与图像解码器等。可以进行:

C++ 异常调度和释放。

从 IDA 加载其它字符。

使用 gdb、断点、堆栈跟踪等进行调试

运行时 hook 和补丁。

支持 ASAN 和 Valgrind 以检测细微的内存损坏错误。

作为演示,Tavis 目前已经将 Windows Defender 移植到了 Linux。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Google
    +关注

    关注

    5

    文章

    1801

    浏览量

    60265
  • Linux
    +关注

    关注

    88

    文章

    11628

    浏览量

    217972
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    Linux内核模块的加载机制

    内核模块是什么? 内核模块是动态加载到内核中的代码,可以在不重启系统的情况下扩展功能,比如设备驱动或者文件系统支持。这样用户不需要把所有功能都编译进内核,节省了资源,提高了灵活性。 模块的文件格式
    发表于 11-25 06:59

    飞凌嵌入式ElfBoard-Vim编辑器之windows与ubuntu系统互传文件

    共享文件夹ubuntu和Windows主机之间的文件传输有很多种,安装VMware Tools后,可以设置虚拟机共享文件夹,Windows主机的文件目录挂
    发表于 10-20 08:46

    N9H30如何从SPI闪存应用程序加载到RAM地址0x0?

    无法利用 uboot 从 SPI 闪存0x0应用程序加载到 RAM 地址。SF 读取0x0 0x100000 0x700000这是 uboot 限制
    发表于 09-01 06:06

    如何源地址 FCANFDx FiF 0 加载到 DMA 线的 SRC 寄存器中?

    您能否提供一个示例,说明如何源地址 FCANFDx FiF 0 加载到 DMA 线的 SRC 寄存器中? 我不想使用固定地址加载,例如: cy_stc_dma_descriptor_t
    发表于 07-18 08:06

    CX3无法固件加载到SPI闪存如何解决?

    我无法固件加载到 SPI 闪存。 步骤如下: 1. 开机,运行 USB 控制中心, 2.点击boot loader,点击FX3,然后选择“SPI flash”。然后USB控制中心显示“未找到
    发表于 07-16 07:37

    是否提供适用于CY7C65213 的 Windows 11驱动程序和 API 库 (dll)?

    您好,支持, 我对 Infineon(原 Cypress)生产的 USB 串行 IC 有疑问。 是否提供适用于 CY7C65213 的 Windows 11 驱动程序和 API 库 (dll
    发表于 05-15 07:26

    迅为RK3568开发板内核模块实现-模块加载与卸载

    ,使用 insmod 加载的时候,就必须先加载 before.ko,然后在加载 helloworld.ko 才可以加载成功从。但是使用 mo
    发表于 05-14 10:56

    为什么无法加载DLL“Bootloader_Utils.dll”?

    “无法加载 DLL“Bootloader_Utils.dll”。找不到指定的模块。我尝试重新安装该软件但问题仍然存在。 任何关于解决该问题的指导都将不胜感激。
    发表于 05-09 08:11

    如何FX3与WSL(LinuxWindows 子系统)一起使用?

    如何 FX3 与 WSL(LinuxWindows 子系统)一起使用? 我在 /dev/ 中找不到任何设备 我有许多项目在 Windows 上使用VISUAL STUDIO项目
    发表于 05-06 07:11

    S32K14X_MCAL4_0_RTM_1_0_0示例项目加载到EB Tresos Studio V21.0.0时出现报错,为什么?

    我下载并安装了 S32K1xx 的 RTM:S32K14X_MCAL4_0_RTM_1_0_0。当我尝试示例项目加载到我的 EB Tresos Studio V21.0.0 中时,我收到以下错误
    发表于 03-20 07:33

    如何使用Keil二进制文件加载到外部SPI Flash中?

    我想知道是否有办法使用 Keil 随机二进制文件加载到外部 SPI 闪存中。二进制文件通过 LPC54102(OM13077 EVK 板)。我知道一些用于 FPGA 的 ISE 允许您执行此作
    发表于 03-17 06:37

    指定文件下的函数加载到指定ram问题

    问题:mcuxpresso环境,xip模式下我需要使用flexspinorflash的一部分作为文件系统,flex以及fatfs相关函数全部加载到ram,发现rodata仍然在flash地址
    发表于 03-12 17:02

    OpenVINO™检测到GPU,但网络无法加载到GPU插件,为什么?

    OpenVINO™安装在旧的 Windows 10 版本 Windows® 10 (RS1) 上。 已安装 GPU 驱动程序版本 25.20.100.6373,检测到 GPU,但网络无法加载到
    发表于 03-05 06:01

    labview调用dll提示加载程序集时发生错误

    问题描述: 小弟在用构造器节点调用dll的时候提示加载程序集时发生错误,个人觉得可能是.net环境不匹配,还请各位大神支支招 问题图片如下图 dll描述如图
    发表于 02-19 10:46

    Ubuntu系统的优缺点分析 Ubuntu系统与Windows的比较

    Ubuntu是一个基于Linux开源操作系统,它以其稳定性、安全性和社区支持而闻名。以下是对Ubuntu系统优缺点的分析,以及与Windows系统的比较: Ubuntu系统的优点: 开源
    的头像 发表于 12-12 14:31 5379次阅读