谷歌知名研究员开源 loadlibrary:将 Windows DLL 加载到 Linux

来源: OSCHINA
编辑: oschina
2020-03-12

Google 知名漏洞研究人员 Tavis Ormandy 开源了一个可以将 Windows DLL 加载到 Linux 的库 loadlibrary,该库允许原生 Linux 程序从 Windows DLL 加载和调用函数。

库中包含一个自 ndiswrapper 派生的自定义 PE/COFF 加载器。该库将处理重定位和导入,并提供类 dlopen API。

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

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

  • C++ 异常调度和释放。
  • 从 IDA 加载其它字符。
  • 使用 gdb、断点、堆栈跟踪等进行调试
  • 运行时 hook 和补丁。
  • 支持 ASAN 和 Valgrind 以检测细微的内存损坏错误。

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

展开阅读全文
54 收藏
分享
加载中
精彩评论
远不如Wine吧, 不依赖WinAPI的可以用这个轻量级的.
2020-03-12 10:21
4
举报
只能加载通用的API,比wine兼容性还要差一点,很多特有的api,是不能加载的
2020-03-12 11:07
3
举报
。。感觉如果那个DLL依赖的其他DLL比较多,也不好干
2020-03-12 15:33
1
举报
最新评论 (20)
7⃣😄#此处输入#此处输入软件#软件####此处输入软件###😰😃
2020-03-19 10:36
0
回复
举报
nb
2020-03-18 15:21
0
回复
举报
.net core 底层不就是将 ddl在liunx上运行的吗
2020-03-18 12:09
0
回复
举报
这个只能调用一些与平台无关的通用库吧
2020-03-18 09:05
0
回复
举报
点进去看三年前的项目啊,,,
2020-03-16 20:03
0
回复
举报
用来玩玩,应该不错。。
2020-03-15 21:37
0
回复
举报
这个和wine差远了,现在wine的问题在于,在日常场景中,需要的是很多周边的工具,比如密码框等界面目前没有很好实现(这也是为什么wine TIM密码框有问题的原因)。

至于这种加载dll执行,一般没有什么大坑,也不用再另起炉灶。
2020-03-13 13:08
0
回复
举报
系统融合速度加快!未来合一系统占主导。
2020-03-13 09:07
0
回复
举报
和wine对比 优势呢。
2020-03-13 00:04
0
回复
举报
。。感觉如果那个DLL依赖的其他DLL比较多,也不好干
2020-03-12 15:33
1
回复
举报
更多评论
21 评论
54 收藏
分享
返回顶部
顶部