生活随笔
收集整理的這篇文章主要介紹了
C# 制作外挂常用的API
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
C#做外掛的常用API,本人用了很久,基本沒發(fā)現(xiàn)問題????using?System;??using?System.Collections.Generic;??using?System.Text;??using?System.Runtime.InteropServices;????namespace?WindowsApplication1??{??????class?win32API??????{??????????public?const?int?OPEN_PROCESS_ALL?=?2035711;??????????public?const?int?PAGE_READWRITE?=?4;??????????public?const?int?PROCESS_CREATE_THREAD?=?2;??????????public?const?int?PROCESS_HEAP_ENTRY_BUSY?=?4;??????????public?const?int?PROCESS_VM_OPERATION?=?8;??????????public?const?int?PROCESS_VM_READ?=?256;??????????public?const?int?PROCESS_VM_WRITE?=?32;????????????private?const?int?PAGE_EXECUTE_READWRITE?=?0x4;??????????private?const?int?MEM_COMMIT?=?4096;??????????private?const?int?MEM_RELEASE?=?0x8000;??????????private?const?int?MEM_DECOMMIT?=?0x4000;??????????private?const?int?PROCESS_ALL_ACCESS?=?0x1F0FFF;?????????????????????????????????[DllImport("User32.dll",?EntryPoint?=?"FindWindow")]??????????public?extern?static?IntPtr?FindWindow(??????????????string?lpClassName,??????????????string?lpWindowName??????????????);????????????????????[DllImport("USER32.DLL")]??????????public?extern?static?int?GetWindowThreadProcessId(??????????????int?hwnd,??????????????ref?int?lpdwProcessId??????????????);??????????[DllImport("USER32.DLL")]??????????public?extern?static?int?GetWindowThreadProcessId(??????????????IntPtr?hwnd,??????????????ref?int?lpdwProcessId??????????????);????????????????????[DllImport("kernel32.dll")]??????????public?extern?static?int?OpenProcess(??????????????int?dwDesiredAccess,??????????????int?bInheritHandle,??????????????int?dwProcessId??????????????);??????????[DllImport("kernel32.dll")]??????????public?extern?static?IntPtr?OpenProcess(??????????????uint?dwDesiredAccess,??????????????int?bInheritHandle,??????????????uint?dwProcessId??????????????);???????????????????????????[DllImport("kernel32.dll",?EntryPoint?=?"CloseHandle")]??????????public?static?extern?int?CloseHandle(??????????????int?hObject??????????????);????????????????????[DllImport("Kernel32.dll?")]??????????public?static?extern?Int32?ReadProcessMemory(??????????????IntPtr?hProcess,??????????????IntPtr?lpBaseAddress,??????????????[In,?Out]?byte[]?buffer,??????????????int?size,??????????????out?IntPtr?lpNumberOfBytesWritten??????????????);??????????[DllImport("Kernel32.dll?")]??????????public?static?extern?Int32?ReadProcessMemory(??????????????int?hProcess,??????????????int?lpBaseAddress,??????????????ref?int?buffer,??????????????????????????int?size,??????????????int?lpNumberOfBytesWritten??????????????);??????????[DllImport("Kernel32.dll?")]??????????public?static?extern?Int32?ReadProcessMemory(??????????????int?hProcess,??????????????int?lpBaseAddress,??????????????byte[]?buffer,??????????????int?size,??????????????int?lpNumberOfBytesWritten??????????????);????????????????????[DllImport("kernel32.dll")]??????????public?static?extern?Int32?WriteProcessMemory(??????????????IntPtr?hProcess,??????????????IntPtr?lpBaseAddress,??????????????[In,?Out]?byte[]?buffer,??????????????int?size,??????????????out?IntPtr?lpNumberOfBytesWritten??????????????);????????????[DllImport("kernel32.dll")]??????????public?static?extern?Int32?WriteProcessMemory(??????????????int?hProcess,??????????????int?lpBaseAddress,??????????????byte[]?buffer,??????????????int?size,??????????????int?lpNumberOfBytesWritten??????????????);????????????????????[DllImport("kernel32",?EntryPoint?=?"CreateRemoteThread")]??????????public?static?extern?int?CreateRemoteThread(??????????????int?hProcess,??????????????int?lpThreadAttributes,??????????????int?dwStackSize,??????????????int?lpStartAddress,??????????????int?lpParameter,??????????????int?dwCreationFlags,??????????????ref?int?lpThreadId??????????????);????????????????????[DllImport("Kernel32.dll")]??????????public?static?extern?System.Int32?VirtualAllocEx(???????????System.IntPtr?hProcess,???????????System.Int32?lpAddress,???????????System.Int32?dwSize,???????????System.Int16?flAllocationType,???????????System.Int16?flProtect???????????);????????????[DllImport("Kernel32.dll")]??????????public?static?extern?System.Int32?VirtualAllocEx(??????????int?hProcess,??????????int?lpAddress,??????????int?dwSize,??????????int?flAllocationType,??????????int?flProtect??????????);????????????????????[DllImport("Kernel32.dll")]??????????public?static?extern?System.Int32?VirtualFreeEx(??????????int?hProcess,??????????int?lpAddress,??????????int?dwSize,??????????int?flAllocationType??????????);??????}??}??
總結(jié)
以上是生活随笔為你收集整理的C# 制作外挂常用的API的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。