程序注入的學習(上)
轉載請宣告出處:http://www.cnblogs.com/predator-wang/p/4792976.html
參考:http://andylin02.iteye.com/blog/459483
程序注入的方法分類如下:
帶DLL的注入
利用登錄檔注入
利用Windows Hooks注入
利用遠端執行緒注入
利用特洛伊DLL注入
不帶DLL的注入
直接將程式碼寫入目標程序,並啟動遠端執行緒
1. 利用登錄檔注入(appinit_dll 注入)
AppInit_DLL參考:
https://support.microsoft.com/zh-cn/kb/197571
http://www.2cto.com/Article/201005/47409.html
在Windows NT/2000/XP/2003中,有一個登錄檔鍵值HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Windows\AppInit_DLLs
User32.dll被載入到程序時,會獲取AppInit_DLLs登錄檔項,若有值,則呼叫LoadLibrary() API載入使用者DLL。所以,DLL登錄檔注入,並不會影響所有程序,只會影響載入了user32.dll的程序.我們可以把自己的程式碼放在一個DLL中,並加入該鍵值,這樣就可以注入到所有使用User32.dll的程序中了。
修改XP下注冊表:
RegDLL.dll的內容如下:
#include <windows.h> #include <tchar.h> #define DEF_PROCESS_NAME "explorer.exe" BOOL WINAPI DllMain(HINSTANCE hinstDll, DWORD dwReason, LPVOID lpvRevered) { if (dwReason == DLL_PROCESS_ATTACH) { HANDLE f = CreateFile(L"C://InjectSuccess.txt", FILE_ADD_FILE, FILE_SHARE_WRITE, NULL, CREATE_NEW, FILE_ATTRIBUTE_NORMAL, NULL); CloseHandle(f); } return TRUE; }
當我們重啟系統之後,會在C盤下發現:
相關推薦
程序注入的學習(上)
轉載請宣告出處:http://www.cnblogs.com/predator-wang/p/4792976.html 參考:http://andylin02.iteye.com/blog/459483 程序注入的方法分類如下: 帶DLL的注入 &
Spring學習之——注入方式(上)
在學習注入方式之前,這裡本來要先學習一下bean.xml配置檔案的屬性作用,但是我覺得只是單純的介紹bean的一些屬性,很枯燥並且又不太容易具體的理解,所以我打算在學習注入方式的時候將bean配置的一些屬性介紹順便穿插進去,這樣結合具體的示例程式可能理解起來更加容易,好了,
Oracle JET 單頁面應用程序Router 使用(上)
模塊名 self. put pla function border routing 都是 功能 單頁面應用程序:使用一個進加載一次的網頁,如果頁面由於用戶的交互而改變,則僅繪制更改的頁面部分。 要創建單頁面應用程序需要使用 oj.Router 的虛擬導航來支持,oj
Spark機器學習(上)
控制 常用 nbsp 建立 判斷 測試數據 話題 with 分享圖片 1、機器學習概念 1.1 機器學習的定義 在維基百科上對機器學習提出以下幾種定義:l“機器學習是一門人工智能的科學,該領域的主要研究對象是人工智能,特別是如何在經驗學習中改善具體算法的性能”。l“機
Python3 簡明教程學習(上)
UNC 格式 wysiwyg 常見 文本 ubuntu 存在 eve gnu 一、開始 Python 之旅交互模式 1.Ctrl + D 輸入一個 EOF 字符來退出解釋器,也可以鍵入 exit() 來退出 2.#!/usr/bin/env python3 中#!稱為 S
實戰深度學習(上)OpenCV庫
選擇 世界排名 pat 調用 install 英文 就是 深度學習 第一次 在如今人工智能的浪潮下,無數模擬機器學習和深度學習的開發者工具倍出,其中在計算機圖形學和計算機視覺裏面最流行的一個庫就是OpenCV庫了.計算機圖形學和計算機視覺學在我們的自動駕駛和仿生機器人當中有
NodeJS簡易部落格系統(五)NodeJS入門學習(上)
一、模組 在NodeJS中,一般將程式碼合理拆分到不同的JS檔案中,每一個檔案就是一個模組,而檔案路徑就是模組名。在編寫每個模組時,都有require、exports、module三個預先定義好的變數可供使用。 1、require require函式用於在當前模組中載入和使用別的模組,傳
實戰深度學習(上):OpenCV庫
在如今人工智慧的浪潮下,無數模擬機器學習和深度學習的開發者工具倍出,其中在計算機圖形學和計算機視覺裡面最流行的一個庫就是OpenCV庫了.計算機圖形學和計算機視覺學在我們的自動駕駛和仿生機器人當中有著舉足輕重的地位,尤其是opencv庫在裡面的應用尤為廣泛。今天我就分享給大家
Python基礎學習階段——關於資料型別的學習(上)
在python中不同的資料型別都是為了解決生活中的實際問題而出現的,而且每種型別都有相關的運算。 python中常見資料型別有:整型、浮點、布林、字串、列表、元組、集合、字典等。 整型(int)、浮點型(float)、複數(complex,瞭解) 整型(Int) - 通常被稱為是整型
Windows基礎篇學習(上)
系統目錄 1、Windows 系統目錄 2、Program files/Program files (x86) 程式安裝目錄 (64/32hit) 3、使用者 存放使用者的配置檔案 4、PerfLogs 是weindows7的日誌資訊,如磁碟掃描錯
HTTP協議學習(上)
這時,就可以輸入HTTP協議本身了:GET / HTTP/1.1 Host: www.baidu.com 輸入完之後,連敲兩個回車,就會出現以下內容: HTTP/1.1 200 OK Date: Sat, 29 Oct 2016 10:12:11 GMT Content-Type: text/html Con
走近人臉檢測:從VJ到深度學習(上)
http://mt.sohu.com/20160413/n444091833.shtml 作者:鄔書哲 中科院計算所智慧資訊處理重點實驗室VIPL課題組博士生 研究方向:目標檢測,尤其關注基於深度學習的目標檢測方法。 本文分上下兩篇,上篇主要介紹人臉檢測的基本流程,以及傳統的VJ人臉檢測器及
Linux程序入門學習(一)-認識程序
1.程序的概念 一個可執行的程式檔案(ELF格式)被載入到記憶體當中,然後讓CPU逐條執行其程式碼,根據程式碼作出相應的動作,這樣一個動態程序就產生了。因此,程序是一個動態變化的過程。 下面用一張圖來表示一個程式從編寫到最終執行的過程: 一段固化在磁碟
Linux程序入門學習(七)-訊號通訊
訊號通訊 什麼是訊號? 在作業系統中,當我們無正常結束一程式時,可以用工作管理員強行結束這個程序。在unix/linux 中,具體的實現過程是通過程序A 生成一個訊號併發射出去,執行中的程序B捕獲到這個訊號然後根據這個訊號的特定意義做出相應的操作。 訊
Linux程序入門學習(四)-程序啟動退出
1. 程序的退出 exit 函式用於程序退出 標頭檔案:#include <stdlib.h> 函式原型:void exit(int status); 引數:int status:退出狀態值(可以任意寫,值規定0 以上的正整數) 返回值:無
細說linux IPC(一):基於socket的程序間通訊(上)
【版權宣告:尊重原創,轉載請保留出處:blog.csdn.net/shallnet 或 .../gentleliu,文章僅供學習交流,請勿用於商業用途】 在一個較大的工程當中,一般都會有多個程序構成,各個功能是一個獨立的程序在執行。既然多個程序構成一個工程,
決策樹學習(上)——深度原理剖析及原始碼實現
引言 本文給大家分享的主題是決策樹(Decision Tree)的原理剖析並附上程式碼實現供大家參考。由於基於決策樹的演算法較多,因此文章分為上下篇。上篇主要剖析決策樹原理、需要掌握的資訊理論知識以及Java原始碼實現等內容。下篇內容包括基於決策樹的ID3、C
Linux 系統應用程式設計——程序間通訊(上)
現在再Linux應用較多的程序間通訊方式主要有以下幾種: 1)無名管道(pipe)及有名管道(fifo):無名管道可用於具有親緣關係程序間的通訊;有名管道除具有管道相似的功能外,它還允許無親緣關係程序使用; 2)訊號(signal):訊號是在軟體層次上對中斷機
微信小程序開發學習(一)
接受 ext 配置 微信小程序開發 onf error n) chan thead 一、各種JSON配置 1、小程序配置app.json 為小程序全局配置,包括所有頁面路徑、界面表現、網絡超時時間、底部tab等,類比APP開發中manifest配置。 2、工具配置proje
【黑客基礎】Windows PowerShell 指令碼學習(上)
視訊地址:【黑客基礎】Windows PowerShell 指令碼學習 2019.12.05 學習筆記 1、$PSVersionTable :檢視PowerShell的版本資訊。 2、PowerShell 介面: 開始介面搜尋 “PowerShell” ,點選 “PowerShell.exe” 或者 “Po