diff --git a/README.md b/README.md new file mode 100644 index 0000000..7cec876 --- /dev/null +++ b/README.md @@ -0,0 +1,24 @@ +Copiar Buffer en proceso actual o Remoto usando ReadProcessMemory + +BOOL ReadProcessMemory( + [in] HANDLE hProcess, + [in] LPCVOID lpBaseAddress, + [out] LPVOID lpBuffer, + [in] SIZE_T nSize, + [out] SIZE_T *lpNumberOfBytesRead +); + +La clase esta en que se le pasa como parametro nSize el caracter a leer por ejemplo 'H' que es 0x48 o 72 en Hexadimal, y donde lo va a guardar el numero de caracteres leidos es en *lpNumberOfBytesRead donde le pasamos la direccion de nuestro buffer. + +pDestOffset = (SIZE_T*)((BYTE*)pNewBuffer + I); + +// Esta llamada en realidad no copia correctamente, pero se deja igual que en Delphi +ReadProcessMemory( + GetCurrentProcess(), // handle del proceso + pNewBuffer, // dirección origen (??) + pDummyBuffer, // destino temporal + *((BYTE*)AString.data() + I), // tamaño (??) + (SIZE_T*)pDestOffset // bytes leídos +); + +Es una nueva forma de escribir en el proceso normal o remoto