Private Declare Function WriteProcessMemory Lib "kernel32" ( _ ByVal hProcess As Long, _ ByVal lpBaseAddress As Any, _ lpBuffer As Any, _ ByVal nSize As Long, _ lpNumberOfBytesWritten As Long) As Long
Dim lZero As Long lZero = 0 WriteProcessMemory phandle, &H43517D, "22C4", LenB("22C4"), lZero- Ajouter un ByVal pour qu'il accepte cette constante + préciser le type de la constante en la faisant suivre d'un & (symbole des Long) :
WriteProcessMemory phandle, &H43517D, "22C4", LenB("22C4"), ByVal 0&
WriteProcessMemory phandle, &H43517D, ByVal "22C4", LenB("22C4"), ByVal 0bien que je ne sois pas sûr qu'on puisse passer des chaines en ByVal.
Dim mBytes(0 To 3) As Byte mBytes(0) = &H2 ' \ mBytes(1) = &H2 ' | Faudra voir s'il ne faut mBytes(2) = &HC ' | pas inverser l'ordre mBytes(3) = &H4 ' / WriteProcessMemory phandle, &H43517D, mBytes(0), CLng(UBound(mBytes) + 1), ByVal 0
Dim hWnd As Long, phandle As Long, lZero As Long, pid As Long Dim mBytes(0 To 3) As Byte lZero = 0 mBytes(0) = &H2 mBytes(1) = &H2 mBytes(2) = &HC mBytes(3) = &H4 hWnd = FindWindow(vbNullString, "Gunz") GetWindowThreadProcessId hWnd, pid phandle = OpenProcess(PROCESS_ALL_ACCESS, False, pid) WriteProcessMemory phandle, &H43517D, mBytes(0), CLng(UBound(mBytes) + 1), 0&
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionPrivate Function WriteHex(phandle As Long, Address As Long, WordLength As Long, MyHex As String) As String Dim pid As Long, lngBytesRead As Long, x As Long Dim bufReadBuffer() As Byte bufReadBuffer = MyHex WriteProcessMemory phandle, ByVal Address, ByVal VarPtr(bufReadBuffer(0)), ByVal WordLength, lngBytesRead End Function
Dim lValeur As Long lValeur = &H22C4 WriteProcessMemory phandle, &H43517D, lValeur, ByVal 4, ByVal 0&
WriteProcessMemory phandle, &H43517D, mBytes(0), CLng(UBound(mBytes) + 1), ByVal 0&Soit
WriteProcessMemory phandle, &H43517D, mBytes(0), CLng(UBound(mBytes) + 1), lZero