a亚洲精品_精品国产91乱码一区二区三区_亚洲精品在线免费观看视频_欧美日韩亚洲国产综合_久久久久久久久久久成人_在线区

首頁 > 編程 > Visual Basic > 正文

VB讀取線程、句柄及寫入內存的API代碼實例

2020-01-31 16:31:15
字體:
來源:轉載
供稿:網友

本文所述實例為VB讀取內存、線程及句柄的一個API,對涉及系統底層操作的VB編程有一定的幫助,需要的讀者可以參考使用。這個API可獲取到線程ID,寫內存,包括進程句柄,ByVal 內存區地址,數據,總長度,已經完成長度,讀取進程,包括進程句柄,ByVal 內存區地址,讀取來的數據存放處,要讀取的長度,已經讀取的長度,內存分配(進程柄,地址[好像只要丟個0進去就行],長度,權限1[MEM_COMMIT],權限2[PAGE_READWRITE])返回:分配到的內存起始地址等功能。

具體實現代碼如下:

Attribute VB_Name = "API"Option ExplicitPublic Declare Function GetDesktopWindow Lib "User32.DLL" () As LongPublic Declare Function FindWindow Lib "User32.DLL" Alias "FindWindowA" (ByVal ClassName As String, ByVal Caption As String) As LongPublic Declare Function GetWindow Lib "User32.DLL" (ByVal hwnd As Long, ByVal wCmd As Long) As LongPublic Declare Function GetWindowText Lib "User32.DLL" Alias "GetWindowTextA" (ByVal hwnd As Long, ByVal lpString As String, ByVal cch As Long) As LongPublic Const GW_CHILD = (5)Public Const GW_HWNDNEXT = (2)Public Declare Function GetWindowThreadProcessId Lib "User32.DLL" (ByVal hwnd As Long, ProcessId As Long) As Long'取找線程ID(句柄,返回的線程ID)Public Declare Function OpenProcess Lib "Kernel32.DLL" (ByVal 操作權限 As Long, ByVal 繼承句柄 As Long, ByVal 線程ID As Long) As LongPublic Declare Function ReadProcessMemory Lib "Kernel32.DLL" (ByVal 進程柄 As Long, ByVal 內存位置 As Long, 緩沖區 As Any, ByVal 長度 As Long, lpNumberOfBytesWritten As Long) As Long'讀取進程(進程句柄,ByVal 內存區地址,讀取來的數據存放處,要讀取的長度,已經讀取的長度[0])Public Declare Function WriteProcessMemory Lib "Kernel32.DLL" (ByVal 進程柄 As Long, 內存位置 As Any, 緩沖區 As Any, ByVal 長度 As Long, lpNumberOfBytesWritten As Long) As Long'寫內存(進程句柄,ByVal 內存區地址,數據,總長度,已經完成長度[0])Public Declare Function CloseHandle Lib "Kernel32.DLL" (ByVal 進程柄 As Long) As Long'釋放(進程句柄)'不釋放會出錯Public Const STANDARD_RIGHTS_REQUIRED = &HF0000Public Const SYNCHRONIZE = &H100000Public Const RRAD_WRITE = &H1F0FFFPublic Const PROCESS_VM_OPERATION = &H8&Public Const 讀取 = &H10&Public Const 寫入 = &H20&'---------變量轉換APIPublic Declare Sub MOV Lib "Kernel32.DLL" Alias "RtlMoveMemory" (變量1 As Any, 變量2 As Any, ByVal 長度 As Long)'---------內存保護分配釋放Public Declare Function VPE Lib "Kernel32.DLL" Alias "VirtualProtectEx" (ByVal 進程柄 As Long, 地址 As Any, ByVal 長度 As Long, ByVal flNewProtect As Long, lpflOldProtect As Long) As LongPublic Declare Function VAE Lib "Kernel32.DLL" Alias "VirtualAllocEx" (ByVal 進程柄 As Long, ByVal 地址 As Long, ByVal 長度 As Long, ByVal flAllocationType As Long, ByVal flProtect As Long) As Long'內存分配(進程柄,地址[好像只要丟個0進去就行],長度,權限1[MEM_COMMIT],權限2[PAGE_READWRITE])返回:分配到的內存起始地址Public Declare Function VFE Lib "Kernel32.DLL" Alias "VirtualFreeEx" (ByVal 進程柄 As Long, ByVal 地址 As Long, ByVal 長度 As Long, ByVal 釋放類型 As Long) As LongPublic Const MEM_COMMIT = &H1000Public Const PAGE_READWRITE = &H4Public Const STILL_ACTIVE = &H103&Public Const INFINITE = &HFFFF'---------取模塊函數位置APIPublic Declare Function GetModuleHandle Lib "Kernel32.DLL" Alias "GetModuleHandleA" (ByVal ModuleName As String) As LongPublic Declare Function LoadLibrary Lib "Kernel32.DLL" Alias "LoadLibraryA" (ByVal ModuleName As String) As LongPublic Declare Function GetProcAddress Lib "Kernel32.DLL" (ByVal hModule As Long, ByVal ProcName As String) As LongPublic Declare Function CreateRemoteThread Lib "Kernel32.DLL" (ByVal 進程柄 As Long, lpThreadAttributes As Any, ByVal dwStackSize As Long, ByVal lpStartAddress As Long, lpParameter As Any, ByVal dwCreationFlags As Long, lpThreadID As Long) As LongPublic Declare Function GetTickCount Lib "kernel32" () As Long
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 一区二区三区四区视频 | 国产精品亚洲视频 | 最新高清无码专区 | 国产精品美女www爽爽爽动态图 | 色噜噜狠狠狠综合曰曰曰 | 在线观看日韩精品 | 国产午夜精品一区二区三区视频 | 国产一区不卡 | 国产欧美日本 | 亚洲国产精品成人 | 亚洲国产免费看 | 久久一区二区三区四区 | 国产精品久久久久久久久免费高清 | 色草在线 | 欧美视频一区二区 | 久久久国产精品入口麻豆 | 日韩在线观看三区 | 日本www高清 | 欧美精品一区二区三区在线四季 | 亚洲天堂久久 | 美日韩在线 | 午夜视频免费网站 | 黄片毛片免费看 | 亚洲电影一区二区 | 国产精品久久久久久久久久三级 | 国产性色 | 成人高清在线观看 | 在线视频 中文字幕 | 91中文字幕 | 国产精品久久久久久福利一牛影视 | 成人超碰| 日韩精品视频免费在线观看 | 亚洲 自拍 另类 欧美 丝袜 | 国产精品久久久久久久久久 | 亚州黄色 | 亚洲最新视频在线观看 | 精品久久久久久久人人人人传媒 | 日韩三区视频 | 日韩高清在线一区 | 色婷婷综合在线 | 精品一区不卡 |