應急響應中分析64位惡意dll的小故事
*本文作者:tahf,本文屬 FreeBuf 原創獎勵計劃,未經許可禁止轉載。 前言 作為一名沉迷於安全技術的小白,近期在對公司一臺Win7客戶主機進行安全應急響應時,捕獲到一個64位dll形式的惡
*本文作者:tahf,本文屬 FreeBuf 原創獎勵計劃,未經許可禁止轉載。 前言 作為一名沉迷於安全技術的小白,近期在對公司一臺Win7客戶主機進行安全應急響應時,捕獲到一個64位dll形式的惡
內容 網上很多資料都詳細地講解了HashMap底層的實現,但是講到HashMap的併發操作不是線性安全時,往往一筆帶過: 在多個執行緒併發擴容時,會在執行transfer()方法轉移鍵值對時,造成連結串列
DLOPEN DLMOPEN DLCLOSE NAME dlclose, dlopen, dlmopen- 開啟/關閉共享物件 SYNOPSIS #include <dlfcn.h&
快速排序也是基於分治模式,類似歸併排序那樣,不同的是快速排序劃分最後不需要merge。對一個數組 A[p..r] 進行快速排序分為三個步驟: 劃分: 陣列 A[p...r] 被劃分為兩個子陣列
排序演算法也是面試中常常提及的內容,問的最多的應該是快速排序、堆排序。這些排序演算法很基礎,但是如果平時不怎麼寫程式碼的話,面試的時候總會出現各種bug。雖然思想都知道,但是就是寫不出來。本文打算對各種排序演算
什麼是雜湊表? 在討論雜湊表之前,我們先大概瞭解下其他資料結構在新增,查詢等基礎操作執行效能 陣列:採用一段連續的儲存單元來儲存資料。對於指定下標的查詢,時間複雜度為O(1);通過給定值進行查詢,需要
反轉一個單鏈表。 示例: 輸入: 1->2->3->4->5->NULL 輸出: 5->4->3->2->1->
二分查詢本身是個簡單的演算法,但是正是因為其簡單,更容易寫錯。甚至於在二分查詢演算法剛出現的時候,也是存在bug的(溢位的bug),這個bug直到幾十年後才修復(見《程式設計珠璣》)。本文打算對二分查詢演算法
首先很高興能和我大哥(劉益同學)組成搭檔QAQ,希望接下來的時間能從大哥那裡學到更多的知識。此次專案,我是基於python來進行實現的,搭檔是基於C++來進行實現的。先來縱觀一下搭檔的程式碼,當我拿到搭檔的程式碼時,
二叉堆是一種應用很廣的資料結構,今天,我們就來簡單講講二叉堆。 往期回顧: 【演算法與資料結構專場】BitMap演算法基本操作程式碼實現 【演算法與資料結構專場】BitMap演算法
推出一個新系列,《看圖輕鬆理解資料結構和演算法》,主要使用圖片來描述常見的資料結構和演算法,輕鬆閱讀並理解掌握。本系列包括各種堆、各種佇列、各種列表、各種樹、各種圖、各種排序等等幾十篇的樣子。 希爾排序
C#編譯器(The C# Compiler) C#的編譯器可以將cs檔案轉換為dll檔案, 即程式集檔案。程式集檔案是一個便攜的可執行格式檔案, 藉助.NET Core,它可以執行在Windows, Mac
container/list 這個包包含了兩個公開的程式實體:List和Element。前者實現了一個雙向連結串列(以下簡稱連結串列),而後者則代表了連結串列中元素的結構。 //這是一個list中儲存
HashMap 底層採用陣列 + 連結串列的的實現方式來降低資料插入和查詢的時間複雜度,理想狀態下可以實現時間複雜度位O(1),今天就從原始碼的角度看一下它是如何實現的。我們從它的兩個關鍵方法put和get
零、前言 棧是一種線性的資料結構 特性:尾部新增,頭部取出 即先進先出FIFO 操作:enqueue入隊 dequeue出隊 getFront檢視隊首元素 佇列