windows程式設計 遠端注入安全

2021-10-08 04:02:45 字數 1130 閱讀 4614

遠端注入

1.向目標程序中申請記憶體

2.向目標記憶體中寫入shellcode(沒有特徵碼,但編碼麻煩)

3.建立遠端執行緒執行shellcode

–>

dll:獲取dll的路徑,然後載入dll

dll的載入

1.靜態呼叫,通過在我們程式中新增標頭檔案,以lib檔案來完成呼叫

2.動態呼叫,乙個dll即可

dll匯出函式

法1:新增def檔案

exports

ceshi

()

法2:

extern

"c"}

這樣匯出的dll有名稱粉碎

呼叫約定

特點傳參方式

平棧例子

_stdcall

標準棧傳參

函式內部

大部分windowsapi

_cdecl

c棧傳參

函式外部

wsprintf

_fastcall

快速暫存器傳承

_thiscall

類的thiscall呼叫約定

使用ecx傳遞this指標

載入dll

1.將目標dll載入到我們的程序

char

*p=r"(\t\r\n)"

//去除轉義

hmodule hdll=

loadlibrarya

(r"(路徑)"

);

2.計算dll中匯出函式的位址

pfn_foo lpfoo=

(pfn_foo)

getprocadress

(hdll,"ceshi')

;

3.執行函式

lpfoo

()

實現遠端注入,建立遠端執行緒,載入loadlibrary,loadlibrary函式就在kernel32,大家的kernel32是一樣的,所以這個loadlibrary在kernel32裡的位置差是固定的,利用固定位位置差,實現載入loadlibrary。

windows下 遠端DLL注入

核心函式 createtoolhelp32snapshot createtoolhelp32snapshot函式為指定的程序 程序使用的堆 heap 模組 module 執行緒 thread 建立乙個快照 snapshot handle winapi createtoolhelp32snapshot...

windows平台實現dll遠端注入的簡單例子

最新看了下關於dll遠端注入的東西,這個技術原來是用來隱藏木馬很好的方式,現在貌似很難通過了,一般的殺軟都能檢測到相關的行為,乙個dll的 隨便加了乙個messagebox函式,僅用來測試注入時候成功的,注入成功會彈出這個對話方塊 include stdafx.h include bool apie...

注入系列 遠端執行緒注入

1.使用程序pid開啟程序,獲得控制代碼 2.使用程序控制代碼申請記憶體空間 3.把dll路徑寫入記憶體 4.建立遠端執行緒,呼叫loadlibrary 5.釋放收尾工作或者解除安裝dll 實現 bool cinjectdlg zwcreatethreadexinjectdll dword dwpr...