麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > 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
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 成人在线视频精品 | 日韩视频中文 | 精品久久久久久综合日本 | 欧美一级黄色录相 | av成人在线电影 | 午夜影视一区二区 | 欧美精品成人一区二区在线观看 | 久久日本 | 亚洲第一激情网 | 日韩黄色片网站 | 成人网在线观看 | 国产亚洲精品久久久久久久久 | 国产精品视频一区二区三区四区五区 | hd欧美free性xxxx护土 | china对白普通话xxxx | 一级电影免费 | 性爱视频在线免费 | 久久国产精品久久久久久电车 | 牛牛a级毛片在线播放 | 国产999视频在线观看 | av在线免费在线观看 | 久色乳综合思思在线视频 | 美女羞羞视频在线观看 | 亚洲人成网站在e线播放 | 欧美精品一区自拍a毛片在线视频 | 亚洲xxx在线观看 | 午夜a狂野欧美一区二区 | 欧美成人久久 | 免费观看亚洲视频 | 国产成人精品网站 | 欧美精品久久久久久久久久 | 久久久精品网 | 高清国产午夜精品久久久久久 | 精品亚洲视频在线 | 黄色成人短视频 | 久草视频在线资源 | 久久久av亚洲男天堂 | 欧美精品日日鲁夜夜添 | 看免费5xxaaa毛片 | 全黄毛片 | 精品一区二区久久久久 |