some meterp bugfixes found while creating a blog post :)
git-svn-id: file:///home/svn/incoming/trunk@3592 4d416f70-5f16-0410-b530-b9f4589650daunstable
parent
037b90a931
commit
243127447b
Binary file not shown.
|
@ -107,7 +107,8 @@ DWORD request_sys_process_memory_read(Remote *remote, Packet *packet)
|
|||
}
|
||||
|
||||
// Read the memory from the process...break out on failure
|
||||
if (!ReadProcessMemory(handle, base, buffer, size, &bytesRead))
|
||||
if ((!ReadProcessMemory(handle, base, buffer, size, &bytesRead)) &&
|
||||
(GetLastError() != ERROR_PARTIAL_COPY))
|
||||
{
|
||||
result = GetLastError();
|
||||
break;
|
||||
|
@ -161,8 +162,9 @@ DWORD request_sys_process_memory_write(Remote *remote, Packet *packet)
|
|||
}
|
||||
|
||||
// Write the memory
|
||||
if (!WriteProcessMemory(handle, base, data.buffer, data.header.length,
|
||||
&written))
|
||||
if ((!WriteProcessMemory(handle, base, data.buffer, data.header.length,
|
||||
&written)) &&
|
||||
(GetLastError() != ERROR_PARTIAL_COPY))
|
||||
{
|
||||
result = GetLastError();
|
||||
break;
|
||||
|
@ -203,8 +205,7 @@ DWORD request_sys_process_memory_query(Remote *remote, Packet *packet)
|
|||
do
|
||||
{
|
||||
// Validate parameters
|
||||
if ((!handle) ||
|
||||
(!base))
|
||||
if (!handle)
|
||||
{
|
||||
result = ERROR_INVALID_PARAMETER;
|
||||
break;
|
||||
|
|
|
@ -174,7 +174,7 @@ class Memory
|
|||
info['Available'] = true
|
||||
elsif (state == MEM_COMMIT)
|
||||
info['Available'] = false
|
||||
elsif (state == MEM_RESERVED)
|
||||
elsif (state == MEM_RESERVE)
|
||||
info['Reserved'] = true
|
||||
end
|
||||
|
||||
|
|
Loading…
Reference in New Issue