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文章
1807瀏覽量
60521 -
Linux
+關注
關注
88文章
11760瀏覽量
219036
發布評論請先 登錄
使用TinyFPGA-Bootloader將比特流加載到FPGA
FLASH中的代碼是如何得到運行的呢
Linux內核模塊的加載機制
飛凌嵌入式ElfBoard-Vim編輯器之windows與ubuntu系統互傳文件
N9H30如何從SPI閃存將應用程序加載到RAM地址0x0?
如何將源地址 FCANFDx FiF 0 加載到 DMA 線的 SRC 寄存器中?
CX3無法將固件加載到SPI閃存如何解決?
不借助Linux系統,在Windows下如何搭建ZMC900E交叉編譯環境
可以將Windows DLL加載到Linux的開源loadlibrary
評論