0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

可以將Windows DLL加載到Linux的開源loadlibrary

汽車玩家 ? 來源:開源中國(guó) ? 作者:開源中國(guó) ? 2020-03-12 09:18 ? 次閱讀

Google 知名漏洞研究人員 Tavis Ormandy 開源了一個(gè)可以將 Windows DLL 加載到 Linux 的庫(kù)loadlibrary,該庫(kù)允許原生 Linux 程序從 Windows DLL 加載和調(diào)用函數(shù)。庫(kù)中包含一個(gè)自 ndiswrapper 派生的自定義 PE/COFF 加載器。該庫(kù)將處理重定位和導(dǎo)入,并提供類dlopenAPI。

Tavis 表示,Windows上的分布式、可擴(kuò)展的模糊測(cè)試可能具有挑戰(zhàn)性且效率低下。對(duì)于使用跨內(nèi)核和用戶空間的復(fù)雜互連組件的端安全產(chǎn)品尤其如此。這通常需要顛覆整個(gè)虛擬化的 Windows 環(huán)境以對(duì)其進(jìn)行模糊測(cè)試。但是在 Linux 上,這不是什么大問題,如果可以將 Windows 殺毒軟件的組件移植到 Linux,那么就可以在最小的容器中運(yùn)行測(cè)試代碼,而開銷卻很小,并且可以輕松地?cái)U(kuò)展測(cè)試范圍。

loadlibrary 的目的是允許在 Linux 上對(duì)自包含的 Windows 庫(kù)進(jìn)行可擴(kuò)展和有效的模糊測(cè)試,包括視頻編解碼器、解壓縮庫(kù)、病毒掃描程序與圖像解碼器等??梢赃M(jìn)行:

C++ 異常調(diào)度和釋放。

從 IDA 加載其它字符。

使用 gdb、斷點(diǎn)、堆棧跟蹤等進(jìn)行調(diào)試

運(yùn)行時(shí) hook 和補(bǔ)丁。

支持 ASAN 和 Valgrind 以檢測(cè)細(xì)微的內(nèi)存損壞錯(cuò)誤。

作為演示,Tavis 目前已經(jīng)將 Windows Defender 移植到了 Linux。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • Google
    +關(guān)注

    關(guān)注

    5

    文章

    1765

    瀏覽量

    57536
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11304

    瀏覽量

    209540
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    Ubuntu系統(tǒng)的優(yōu)缺點(diǎn)分析 Ubuntu系統(tǒng)與Windows的比較

    Ubuntu是一個(gè)基于Linux開源操作系統(tǒng),它以其穩(wěn)定性、安全性和社區(qū)支持而聞名。以下是對(duì)Ubuntu系統(tǒng)優(yōu)缺點(diǎn)的分析,以及與Windows系統(tǒng)的比較: Ubuntu系統(tǒng)的優(yōu)點(diǎn): 開源
    的頭像 發(fā)表于 12-12 14:31 ?575次閱讀

    請(qǐng)問哪里有關(guān)于linux下tlv320aic3254 MiniDSP使用的文檔和例子可以下載參考?

    tlv320aic3254_mini-dsp_c和tlv320aic3254.c?文檔AIC3254 Linux Driver Datasheet里還提到有個(gè)TiLoad程序可以加載配置,請(qǐng)問哪里
    發(fā)表于 10-30 06:17

    TAS5711用GDE生成的EQ cfg配置文件怎么加載到單片機(jī)上?

    TAS5711 的用GDE 生成的EQcfg配置文件怎么加載到單片機(jī)上。
    發(fā)表于 10-25 13:48

    linux驅(qū)動(dòng)程序如何加載進(jìn)內(nèi)核

    ,需要了解Linux內(nèi)核的基本概念和API。以下是一些關(guān)鍵概念: 1.1 內(nèi)核模塊:Linux內(nèi)核模塊是一種動(dòng)態(tài)加載和卸載的代碼,可以在不重新啟動(dòng)系統(tǒng)的情況下
    的頭像 發(fā)表于 08-30 15:02 ?474次閱讀

    虹科干貨 輕松掌握PCAN-Explorer 6,dll調(diào)用一文打盡!

    的批量邏輯操作體驗(yàn)。本文詳細(xì)介紹如何在虹科PE6中高效調(diào)用dll,包括如何加載和使用dll文件,以及如何創(chuàng)建自定義的dll項(xiàng)目。 PE6與
    的頭像 發(fā)表于 08-29 10:00 ?486次閱讀
    虹科干貨 輕松掌握PCAN-Explorer 6,<b class='flag-5'>dll</b>調(diào)用一文打盡!

    研華工控機(jī)用什么系統(tǒng)?WindowsLinux操作系統(tǒng)的較量

    工控機(jī)用什么系統(tǒng)?WindowsLinux操作系統(tǒng)的較量。工控機(jī)(工業(yè)控制計(jì)算機(jī))作為工業(yè)自動(dòng)化和監(jiān)控系統(tǒng)的核心組件,其穩(wěn)定性、可靠性和性能對(duì)整個(gè)系統(tǒng)的運(yùn)行至關(guān)重要。WindowsLinu
    的頭像 發(fā)表于 06-14 14:38 ?702次閱讀
    研華工控機(jī)用什么系統(tǒng)?<b class='flag-5'>Windows</b>與<b class='flag-5'>Linux</b>操作系統(tǒng)的較量

    微軟優(yōu)化Windows Subsystem for Linux并加入圖形用戶界面設(shè)置

    微軟宣布提升Windows Subsystem for Linux(WSL)性能,推出全新設(shè)置應(yīng)用提供圖形化配置環(huán)境。
    的頭像 發(fā)表于 05-31 11:26 ?559次閱讀

    Mono開源社區(qū)支持LoongArch龍架構(gòu)

    Mono作為開源框架,支持Linux、macOS、Windows及嵌入式設(shè)備等廣泛的操作系統(tǒng),使得開發(fā)者能在非Windows環(huán)境下運(yùn)行.NET應(yīng)用。
    的頭像 發(fā)表于 05-20 11:06 ?482次閱讀

    虹科干貨丨輕松掌握PCAN-Explorer 6,dll調(diào)用一文打盡!

    邏輯操作體驗(yàn)。本文詳細(xì)介紹如何在虹科PE6中高效調(diào)用dll,包括如何加載和使用dll文件,以及如何創(chuàng)建自定義的dll項(xiàng)目。
    的頭像 發(fā)表于 04-19 10:36 ?810次閱讀
    虹科干貨丨輕松掌握PCAN-Explorer 6,<b class='flag-5'>dll</b>調(diào)用一文打盡!

    labview提到用.dll報(bào)錯(cuò)1386,怎么解決

    labview程序調(diào)用.dll文件時(shí)報(bào)錯(cuò) 錯(cuò)誤1386: 指定的.NET類在LabVIEW中不可用。 NI官網(wǎng)說是可能將64位.NET DLL加載到LabVIEW的32位版本中出現(xiàn)這個(gè)錯(cuò)誤,但是我
    發(fā)表于 04-18 16:06

    運(yùn)行FPGA然后img加載到FX3時(shí)出現(xiàn)了黑屏是為什么?

    當(dāng)我運(yùn)行 FPGA 然后 img 加載到 FX3 時(shí)出現(xiàn)了黑屏,我使用了 amcap.exe。 FPGA 輸出動(dòng)態(tài)模式。 請(qǐng)幫我解決我的問題。 我附上了 chipscope 和 amcap.exe
    發(fā)表于 02-26 08:36

    linux服務(wù)器和windows服務(wù)器

    Linux服務(wù)器和Windows服務(wù)器是目前應(yīng)用最廣泛的兩種服務(wù)器操作系統(tǒng)。兩者各有優(yōu)劣,也適用于不同的應(yīng)用場(chǎng)景。本文 對(duì)Linux服務(wù)器和Win
    發(fā)表于 02-22 15:46

    linuxwindows的區(qū)別 linux系統(tǒng)一般用來干嘛

    Linux的設(shè)計(jì)理念 Linux是一個(gè)開源操作系統(tǒng),其設(shè)計(jì)理念是自由、共享和開放。Linux系統(tǒng)遵循類Unix的設(shè)計(jì)原則,注重系統(tǒng)的穩(wěn)定性、靈活性和安全性。它采用模塊化的設(shè)計(jì)結(jié)構(gòu),用
    的頭像 發(fā)表于 02-05 14:06 ?974次閱讀

    反射DLL注入的工作原理和實(shí)現(xiàn)流程

    DLL 模塊,可以通過一些 I/O 操作所需的代碼寫入目標(biāo)進(jìn)程,但這大量的 I/O 操作對(duì)病毒引擎來說過于敏感,還有一個(gè)思路就是編寫一段引導(dǎo)程序,這段引導(dǎo)程序用來模擬 Windows
    的頭像 發(fā)表于 01-20 10:04 ?2270次閱讀
    反射<b class='flag-5'>DLL</b>注入的工作原理和實(shí)現(xiàn)流程

    ldr文件如何加載到SC589開發(fā)板中運(yùn)行?

    ADI官方的SC589開發(fā)板,在cces中可以通過ICE-2000直接加載程序進(jìn)行評(píng)估測(cè)試,測(cè)試通過之后我想把程序直接加載到SC589中,以使在開發(fā)板接電源時(shí),直接運(yùn)行加載的程序,而不
    發(fā)表于 01-12 06:22