Ignore:
Timestamp:
Dec 18, 1999, 6:17:55 PM (26 years ago)
Author:
sandervl
Message:

EB's changes for GetThreadContext + Read/WriteProcessMemory

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/kernel32/stubs.cpp

    r2111 r2115  
    1 /* $Id: stubs.cpp,v 1.13 1999-12-18 16:19:19 sandervl Exp $ */
     1/* $Id: stubs.cpp,v 1.14 1999-12-18 17:17:55 sandervl Exp $ */
    22
    33/*
     
    2020#include <builtin.h>
    2121#include "handlemanager.h"
     22#include <string.h>
    2223
    2324#include "stubs.h"
     
    24982499           cbRead,
    24992500           lpNumberOfBytesRead));
    2500 
    2501   return (FALSE);
     2501  // FIXME: check this, if we ever run win32 binaries in different addressspaces
     2502  //    ... and add a sizecheck
     2503  memcpy(lpBuffer,lpBaseAddress,cbRead);
     2504  if (lpNumberOfBytesRead) *lpNumberOfBytesRead = cbRead;
     2505  return TRUE;
     2506}
     2507
     2508/*****************************************************************************
     2509 * Name      : DWORD WriteProcessMemory
     2510 * Purpose   : The WriteProcessMemory function writes memory in a specified
     2511 *             process. The entire area to be written to must be accessible,
     2512 *             or the operation fails.
     2513 * Parameters: HANDLE  hProcess               handle of process whose memory is written to
     2514 *             LPVOID  lpBaseAddress          address to start writing to
     2515 *             LPVOID  lpBuffer               address of buffer to write data to
     2516 *             DWORD   cbWrite                number of bytes to write
     2517 *             LPDWORD lpNumberOfBytesWritten actual number of bytes written
     2518 * Variables :
     2519 * Result    : TRUE / FALSE
     2520 * Remark    :
     2521 * Status    : UNTESTED STUB
     2522 *
     2523 * Author    : Patrick Haller [Mon, 1998/06/15 08:00]
     2524 *****************************************************************************/
     2525
     2526DWORD WIN32API WriteProcessMemory(HANDLE  hProcess,
     2527                                     LPCVOID lpBaseAddress,
     2528                                     LPVOID  lpBuffer,
     2529                                     DWORD   cbWrite,
     2530                                     LPDWORD lpNumberOfBytesWritten)
     2531{
     2532  dprintf(("Kernel32: WriteProcessMemory(%08xh,%08xh,%08xh,%08xh,%08xh) not implemented.\n",
     2533           hProcess,
     2534           lpBaseAddress,
     2535           lpBuffer,
     2536           cbWrite,
     2537           lpNumberOfBytesWritten));
     2538
     2539  // FIXME: check this, if we ever run win32 binaries in different addressspaces
     2540  //    ... and add a sizecheck
     2541  memcpy((void*)lpBaseAddress,lpBuffer,cbWrite);
     2542  if (lpNumberOfBytesWritten) *lpNumberOfBytesWritten = cbWrite;
     2543  return TRUE;
    25022544}
    25032545
     
    29963038
    29973039
    2998 /*****************************************************************************
    2999  * Name      : DWORD WriteProcessMemory
    3000  * Purpose   : The WriteProcessMemory function writes memory in a specified
    3001  *             process. The entire area to be written to must be accessible,
    3002  *             or the operation fails.
    3003  * Parameters: HANDLE  hProcess               handle of process whose memory is written to
    3004  *             LPVOID  lpBaseAddress          address to start writing to
    3005  *             LPVOID  lpBuffer               address of buffer to write data to
    3006  *             DWORD   cbWrite                number of bytes to write
    3007  *             LPDWORD lpNumberOfBytesWritten actual number of bytes written
    3008  * Variables :
    3009  * Result    : TRUE / FALSE
    3010  * Remark    :
    3011  * Status    : UNTESTED STUB
    3012  *
    3013  * Author    : Patrick Haller [Mon, 1998/06/15 08:00]
    3014  *****************************************************************************/
    3015 
    3016 DWORD WIN32API WriteProcessMemory(HANDLE  hProcess,
    3017                                      LPCVOID lpBaseAddress,
    3018                                      LPVOID  lpBuffer,
    3019                                      DWORD   cbWrite,
    3020                                      LPDWORD lpNumberOfBytesWritten)
    3021 {
    3022   dprintf(("Kernel32: WriteProcessMemory(%08xh,%08xh,%08xh,%08xh,%08xh) not implemented.\n",
    3023            hProcess,
    3024            lpBaseAddress,
    3025            lpBuffer,
    3026            cbWrite,
    3027            lpNumberOfBytesWritten));
    3028 
    3029   return (FALSE);
    3030 }
    30313040
    30323041
Note: See TracChangeset for help on using the changeset viewer.