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文章
1788瀏覽量
58734 -
Linux
+關注
關注
87文章
11473瀏覽量
212980
發布評論請先 登錄
是否提供適用于CY7C65213 的 Windows 11驅動程序和 API 庫 (dll)?
迅為RK3568開發板內核模塊實現-模塊加載與卸載
為什么無法加載DLL“Bootloader_Utils.dll”?
如何將FX3與WSL(Linux 的 Windows 子系統)一起使用?
S32K14X_MCAL4_0_RTM_1_0_0將示例項目加載到EB Tresos Studio V21.0.0時出現報錯,為什么?
如何使用Keil將二進制文件加載到外部SPI Flash中?
將指定文件下的函數加載到指定ram問題
OpenVINO?檢測到GPU,但網絡無法加載到GPU插件,為什么?
labview調用dll提示加載程序集時發生錯誤
Ubuntu系統的優缺點分析 Ubuntu系統與Windows的比較
請問哪里有關于linux下tlv320aic3254 MiniDSP使用的文檔和例子可以下載參考?
linux驅動程序如何加載進內核
虹科干貨 輕松掌握PCAN-Explorer 6,dll調用一文打盡!

評論