「教學」C語言實現dll注入:任意程式崩潰|駭客必備技能!

「教學」C語言實現dll注入:任意程式崩潰|駭客必備技能!

不關注《一碳科技》?好吧,你錯過了很多東西!

DLL注入是什麼?它有多厲害?它能讓360安全衛士執行你的“破壞”程式碼!

首先我們先了解一下dll是什麼,舉一個簡單的例子吧,相信看著篇文章的網友,或多或少都學過C語言吧?C語言當中有很多中函式,這些函式都是windows開發人員封裝好的,封裝好的函式都被存放在一種檔案裡面,這種檔案就是dll檔案,dll檔案也稱為“

動態連結庫檔案

”。我們使用編譯器生成可執行檔案的過程中,會有這樣一個步驟:連結器會將使用到的dll檔案,連結到當前編譯的可執行檔案當中,當程式執行的時候就會使用dll檔案裡面的函式。

「教學」C語言實現dll注入:任意程式崩潰|駭客必備技能!

dll可以自行建立,並加以利用

dll可以被多個程式使用,dll檔案也可以由自己自行建立並使用,但是

自行建立的dll檔案

,並不像系統核心dll檔案那樣,擁有

固定的路徑地址

。系統核心dll檔案的呼叫不需要另外指明它的路徑,因為在windows系統中,他們的路徑幾乎都是固定的,自行建立的dll檔案連結使用的時候必須要指明它的路徑,否則無法開啟。

「教學」C語言實現dll注入:任意程式崩潰|駭客必備技能!

建立dll檔案

一個dll檔案可以

被遠端注入

到另一個

正在執行的程序

當中,怎麼理解呢?這麼說吧,通俗一點講,這個程序就是一個正在執行的程式,現在,你製作了一個dll檔案,裡面有你自己寫的程式碼(

例如system("shutdown -s -t 00")

),然後將這個dll檔案注入到這個程式的記憶體空間當中,簡單點講,就是把你自己的

dll檔案插入目標程式

當中,成為

目標程式執行的程式碼

,間接地執行你自己寫的程式碼(

system("shutdown -s -t 00")

),但是說起來簡單,實行起來卻不是那麼容易的,如果你技術過關的話,

你能讓360執行的你的“惡意”程式碼!(如果能的話,你就是人才)

「教學」C語言實現dll注入:任意程式崩潰|駭客必備技能!

我們這次圍繞著“

C語言實現遠端注入dll

”的話題進行發文,由於這個程式的實現涉及的知識點比較多,所以,我們將會分幾篇文章來進行釋出,這樣有助於讀者理解,畢竟一步一步來有益於理解嘛。

話有點多了,進入正題——上菜!

這個程式的實現,我們可以分成兩部分,一個是遠端注入部分,一個是製作dll檔案部分。本篇文章先教大家

製作dll檔案

,當然dll檔案具體要實現的功能就由你們來定啦,現在小編就教你們如何製作就可以了。

「教學」C語言實現dll注入:任意程式崩潰|駭客必備技能!

其實dll檔案的製作和編寫C程式碼一樣,只不過建立的工程專案不一樣而已。首先開啟我們的VS軟體,然後新建一個Wn32專案,專案名稱自取。然後點選確定-下一步,然後選擇引用程式型別,我們編寫C程式碼的時候通常是選擇控制檯應用程式,而這裡不同,我們要建立dll檔案,所以,這裡我們選擇dll型別。

「教學」C語言實現dll注入:任意程式崩潰|駭客必備技能!

「教學」C語言實現dll注入:任意程式崩潰|駭客必備技能!

「教學」C語言實現dll注入:任意程式崩潰|駭客必備技能!

建立完成之後的事情就很簡單了,因為VS編譯器已經為你載入了DLL檔案的主體部分。專案建立完成之後,我們點選

dllmain.cpp

檔案,就會出現VS編寫好的程式碼,然後在這些程式碼中新增你自己想要寫的程式碼,寫這些程式碼的過程就跟C程式碼一樣,可以自己引用別的標頭檔案,

如圖↓

「教學」C語言實現dll注入:任意程式崩潰|駭客必備技能!

在哪裡新增我們的程式碼呢?

case DLL_PROCESS_ATTACH

這裡新增程式碼塊,switch case語句就不多說了,誰都懂。

如圖↓

「教學」C語言實現dll注入:任意程式崩潰|駭客必備技能!

做好之後先別急著生成,我們右鍵點選我們的

專案-屬性-C/C++-程式碼生成-執行庫-多執行緒DLL

,然後點選確定就OK啦,為什麼要這樣做呢?因為,被注入的程序會呼叫我們寫好的dll,然後dll會自行分配記憶體,在這裡我們要記住一句話:“

誰負責分配,誰就必須負責釋放

”,所以dll分配的記憶體,要由dll釋放,如果不這樣做的話,會出現異常中斷。

除了編寫dll檔案這樣以外,我們編寫的注入程式也要進行相同的步驟!

「教學」C語言實現dll注入:任意程式崩潰|駭客必備技能!

「教學」C語言實現dll注入:任意程式崩潰|駭客必備技能!

「教學」C語言實現dll注入:任意程式崩潰|駭客必備技能!

「教學」C語言實現dll注入:任意程式崩潰|駭客必備技能!

這些工作做好之後我們就開始生成,然後依次點選建立的工程資料夾-debug,就可以看到生成的dll檔案了,把他複製出來,放到一個地方。

「教學」C語言實現dll注入:任意程式崩潰|駭客必備技能!

DLL檔案製作完成,注入程式稍後釋出!送原始碼!

到這裡,

我們的dll檔案就製作好了

,接下來就是教大家如何把這個dll檔案,注入到指定程序當中了,但是呢!由於篇幅的原因,

dll注入

我們會在後續幾篇文章中釋出教學。小編寫的這個注入程式的功能,

只是能讓任意程式崩潰關閉而已

,各位看官可以自行新增自己的功能。

「教學」C語言實現dll注入:任意程式崩潰|駭客必備技能!

想拿原始碼?原始碼地址在評論區!

但是呢,畢竟小編也是人,每天寫程式碼教你們也很累的,

如果這麼累下去沒有動力的話,還怎麼教你們?

所以你們的關注就是我的動力

:只有關注的小夥伴才能獲贈原始碼哦!

小編先給小夥伴看一下部分程式碼↓

「教學」C語言實現dll注入:任意程式崩潰|駭客必備技能!

「教學」C語言實現dll注入:任意程式崩潰|駭客必備技能!