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:
|
//what should this function do:
|
||||||
//- do all possible effort to read memory
|
//- do all possible effort to read memory
|
||||||
//- filter out breakpoints
|
//- filter out breakpoints
|
||||||
|
|
|
||||||
|
|
@ -54,6 +54,7 @@ ConvertVAtoFileOffsetEx
|
||||||
ConvertFileOffsetToVA
|
ConvertFileOffsetToVA
|
||||||
ConvertFileOffsetToVAEx
|
ConvertFileOffsetToVAEx
|
||||||
MemoryReadSafe
|
MemoryReadSafe
|
||||||
|
MemoryReadUnsafe
|
||||||
MemoryWriteSafe
|
MemoryWriteSafe
|
||||||
MemoryQuerySafe
|
MemoryQuerySafe
|
||||||
MemoryAllocSafe
|
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 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) 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 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) 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) 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);
|
__declspec(dllexport) LPVOID TITCALL MemoryAllocSafe(HANDLE hProcess, LPVOID lpAddress, SIZE_T dwSize, DWORD flAllocationType, DWORD flProtect);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue