mirror of https://github.com/x64dbg/GleeBug
Fix reading/writing non-debugged process memory
This commit is contained in:
parent
e0348b36fe
commit
9676c960b6
|
|
@ -244,7 +244,7 @@ typedef struct __PUBLIC_OBJECT_TYPE_INFORMATION
|
||||||
|
|
||||||
typedef struct _PROCESS_BASIC_INFORMATION
|
typedef struct _PROCESS_BASIC_INFORMATION
|
||||||
{
|
{
|
||||||
PVOID Reserved1;
|
NTSTATUS ExitStatus;
|
||||||
PVOID PebBaseAddress;
|
PVOID PebBaseAddress;
|
||||||
PVOID Reserved2[2];
|
PVOID Reserved2[2];
|
||||||
ULONG_PTR UniqueProcessId;
|
ULONG_PTR UniqueProcessId;
|
||||||
|
|
|
||||||
|
|
@ -98,7 +98,10 @@ public:
|
||||||
{
|
{
|
||||||
auto process = processFromHandle(hProcess);
|
auto process = processFromHandle(hProcess);
|
||||||
if(!process)
|
if(!process)
|
||||||
return false;
|
{
|
||||||
|
// This happens when reading from a process not being debugged
|
||||||
|
return !!ReadProcessMemory(hProcess, lpBaseAddress, lpBuffer, nSize, lpNumberOfBytesRead);
|
||||||
|
}
|
||||||
return process->MemReadSafe(ptr(lpBaseAddress), lpBuffer, nSize, (ptr*)lpNumberOfBytesRead);
|
return process->MemReadSafe(ptr(lpBaseAddress), lpBuffer, nSize, (ptr*)lpNumberOfBytesRead);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -106,7 +109,10 @@ public:
|
||||||
{
|
{
|
||||||
auto process = processFromHandle(hProcess);
|
auto process = processFromHandle(hProcess);
|
||||||
if(!process)
|
if(!process)
|
||||||
return false;
|
{
|
||||||
|
// This happens when writing to a process not being debugged
|
||||||
|
return !!WriteProcessMemory(hProcess, lpBaseAddress, lpBuffer, nSize, lpNumberOfBytesWritten);
|
||||||
|
}
|
||||||
return process->MemWriteSafe(ptr(lpBaseAddress), lpBuffer, nSize, (ptr*)lpNumberOfBytesWritten);
|
return process->MemWriteSafe(ptr(lpBaseAddress), lpBuffer, nSize, (ptr*)lpNumberOfBytesWritten);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue