mirror of https://github.com/x64dbg/TitanEngine
Add MemoryReadUnsafe API
This commit is contained in:
parent
32bdf1580a
commit
d0e2efeb9a
|
|
@ -323,6 +323,19 @@ __declspec(dllexport) bool TITCALL Replace(LPVOID MemoryStart, DWORD MemorySize,
|
|||
}
|
||||
}
|
||||
|
||||
__declspec(dllexport) bool TITCALL MemoryReadUnsafe(HANDLE hProcess, LPCVOID lpBaseAddress, LPVOID lpBuffer, SIZE_T nSize, SIZE_T* lpNumberOfBytesRead)
|
||||
{
|
||||
SIZE_T bytesRead = 0;
|
||||
auto transferred = lpNumberOfBytesRead ? lpNumberOfBytesRead : &bytesRead;
|
||||
if(!hProcess || !lpBaseAddress || !lpBuffer || !nSize)
|
||||
{
|
||||
SetLastError(ERROR_INVALID_PARAMETER);
|
||||
*transferred = 0;
|
||||
return false;
|
||||
}
|
||||
return !!ReadProcessMemory(hProcess, lpBaseAddress, lpBuffer, nSize, transferred);
|
||||
}
|
||||
|
||||
//what should this function do:
|
||||
//- do all possible effort to read memory
|
||||
//- filter out breakpoints
|
||||
|
|
|
|||
|
|
@ -54,6 +54,7 @@ ConvertVAtoFileOffsetEx
|
|||
ConvertFileOffsetToVA
|
||||
ConvertFileOffsetToVAEx
|
||||
MemoryReadSafe
|
||||
MemoryReadUnsafe
|
||||
MemoryWriteSafe
|
||||
MemoryQuerySafe
|
||||
MemoryAllocSafe
|
||||
|
|
|
|||
|
|
@ -74,6 +74,7 @@ __declspec(dllexport) ULONG_PTR TITCALL ConvertVAtoFileOffsetEx(ULONG_PTR FileMa
|
|||
__declspec(dllexport) ULONG_PTR TITCALL ConvertFileOffsetToVA(ULONG_PTR FileMapVA, ULONG_PTR AddressToConvert, bool ReturnType);
|
||||
__declspec(dllexport) ULONG_PTR TITCALL ConvertFileOffsetToVAEx(ULONG_PTR FileMapVA, DWORD FileSize, ULONG_PTR ImageBase, ULONG_PTR AddressToConvert, bool ReturnType);
|
||||
__declspec(dllexport) bool TITCALL MemoryReadSafe(HANDLE hProcess, LPVOID lpBaseAddress, LPVOID lpBuffer, SIZE_T nSize, SIZE_T* lpNumberOfBytesRead);
|
||||
__declspec(dllexport) bool TITCALL MemoryReadUnsafe(HANDLE hProcess, LPCVOID lpBaseAddress, LPVOID lpBuffer, SIZE_T nSize, SIZE_T* lpNumberOfBytesRead);
|
||||
__declspec(dllexport) bool TITCALL MemoryWriteSafe(HANDLE hProcess, LPVOID lpBaseAddress, LPCVOID lpBuffer, SIZE_T nSize, SIZE_T* lpNumberOfBytesWritten);
|
||||
__declspec(dllexport) SIZE_T TITCALL MemoryQuerySafe(HANDLE hProcess, LPCVOID lpAddress, PMEMORY_BASIC_INFORMATION lpBuffer, SIZE_T dwLength);
|
||||
__declspec(dllexport) LPVOID TITCALL MemoryAllocSafe(HANDLE hProcess, LPVOID lpAddress, SIZE_T dwSize, DWORD flAllocationType, DWORD flProtect);
|
||||
|
|
|
|||
Loading…
Reference in New Issue