原创 想玩一個簡單的注入??AppInit_DLLs註冊表項注入它來了

之前介紹過一些Ring3層的注入方式,但那些都是需要用代碼來實現注入,實現起來相對來說比較複雜。如果有兄弟想試一下注入的快感,又不想寫複雜的程序,那麼不妨可以玩玩註冊表的注入方式。 不過這種注入方式有他的弊端,那就是注入的程序必須

原创 PE文件學習--導入表

寫在前面的話:今年疫情在家,纔開始在CSDN與各位大佬們分享交流技術,最近一個月返校之後,一直忙碌於學校課設和期末考試的備考(畢竟平時不怎麼聽課),所以博客幾乎一個多月沒有更新,最近只剩下一門考試了,今天小庫又回來了。 之前有關P

原创 字節存儲順序(大端和小端)

Big-endian(大端):高位字節存入低地址,低位字節存入高地址。 Little-endian(小端):低位字節存入低地址,高位字節存入高地址。 例如,將20200521h寫入內存中,分別以大端和小端存儲,我們會看到什麼? 我

原创 掛起目標線程注入(SetThreadContext)--Ring3注入

這段時間一直在複習之前的知識點,今天看到了這種注入,記錄一下,與諸位分享。 預備知識點: 當一個正在執行的線程被掛起之後,系統會保存此時線程的上下背景文(Context),當我們把線程恢復執行的時候,系統會把之前的Context恢

原创 APC注入(QueueUserAPC)--Ring3

APC英文全稱(Asynchronous Procedure Call),我們一般譯爲異步過程調用。它是一種Windows的軟中斷機制,一般分爲兩種: 內核APC:由系統產生的APC。 用戶APC:由應用層程序產生的APC。

原创 RtlCreateUserThread實現Dll注入

RtlCreateUserThread函數當然也是ntdll導出的函數,這個比之前的NtCreateThreadEx是要強點的,最起碼還能看得見參數有幾個,hhhhh,難頂啊。 其實CreateRemote和Nt系列和Rtl系

原创 Dll注入目標進程之後,vs如何調試本地Dll

準備工作:將Debug目錄下的Dll.dll放置到當前cpp所在目錄下,這麼做的目的是爲了我們在調試界面注入目標進程時,根據路徑能找到Dll文件 開始調試: 1.我選擇在啓動程序的入口處下斷點(F9),啓動調試(F5),斷點命

原创 SetWindowsHookEx實現對目標進程注入Dll

MSDN官方文檔給出的定義: HHOOK SetWindowsHookEx( int idHook, // hook type HOOKPROC lpfn, // hook procedure HI

原创 使用NtCreateThreadEx將Dll注入目標進程

第一遍學習這個注入方法時候,只知道NtCreateThreadEx是未公開的nt函數,當時要定義一個函數指針出來,好像在看雪上找到的這個函數的聲明,,太久遠了,記不清了。 在Windows2000的源碼和Reactos中都無法找到

原创 Linux進程間軟中斷通信

實現過程: 使用系統調用fork創建兩個子進程 用系統調用signal()讓父進程捕捉鍵盤上的中斷信號(Ctrl+C或者Ctrl + ) 捕捉到中斷信號後,父進程調用系統調用Kill殺死兩個子進程 #include<unist

原创 文件映射相關操作(CreateFileMapping\MapViewOfFile)--TitanEngine

BOOL KtMapFileEx(const wchar_t* FileName, DWORD ReadOrWrite, LPHANDLE FileHandle, LPDWORD FileSize, LPHANDLE File

原创 Ring3與Ring0之間的通信方式(Windows內核學習筆記)

我們寫一個Ring0的代碼,有時候需要和Ring3進行交互,比如我們做一個進程防殺的驅動保護,那我們可以通過Ring3的進程,發送請求告訴驅動層,究竟哪些進程屬於白名單,哪些屬於黑名單,而在通信過程中,涉及到了應用層與內核層之間通

原创 Dos路徑轉換爲文件路徑--TitanEngine

//Dos路徑轉換爲文件路徑 VOID* TranslateNativeNameW(wchar_t* NativeName) { //提交保留物理頁,外部會對它進行釋放 void* TranslatedName = Vi

原创 用戶內核模式切換(Windows內核學習筆記)

Inter x86將處理器執行模式分爲4層環,我們平時說的用戶層程序處於3環(Ring3),內核層代碼處於0環(Ring0),而Ring3的地址空間是各進程之間獨立的,Ring0層是進程之間共享,不同進程會由進程上下背景文的切換來

原创 如何讓exe自己刪除自己??

我們都知道,當一個exe程序在啓動之後,操作系統會把這個可執行文件加載到內存中去,在程序處於運行狀態時,如果我們想要把這個文件刪除,那就會出現以下情況: 那我們將不得不等到程序執行完畢之後,手動的來刪除這個文件,但是有沒有一種辦