Changeset 1333

Show
Ignore:
Timestamp:
07/25/07 16:57:34 (1 year ago)
Author:
common
Message:

libemu

  • #ifdef HAVE_INTERACTIVE_HOOKS, protect the innocent from the pure power of high interactive hooks, #endif
Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • libemu/trunk/src/environment/win32/emu_env_w32_dll_export_kernel32_hooks.c

    r1330 r1333  
    4141#include <errno.h> 
    4242 
    43  
     43#include "../../../config.h" 
    4444#include "emu/emu.h" 
    4545#include "emu/emu_memory.h" 
     
    258258        fflush(NULL); 
    259259 
     260#ifdef HAVE_INTERACTIVE_HOOKS 
    260261// the code is meant to be an example how one could do it 
    261262        pid_t pid; 
     
    274275                emu_memory_write_block(m, p_procinfo, pi, sizeof(PROCESS_INFORMATION)); 
    275276        } 
     277#endif 
    276278 
    277279        emu_cpu_eip_set(c, eip_save); 
     
    835837 
    836838// the code is meant to be an example how one could do it 
     839#ifdef HAVE_INTERACTIVE_HOOKS 
    837840        int status; 
    838841        while(1) 
     
    842845                sleep(1); 
    843846        } 
     847#endif 
    844848 
    845849        emu_cpu_reg32_set(c, eax, 32); 
  • libemu/trunk/src/environment/win32/emu_env_w32_dll_export_urlmon_hooks.c

    r1330 r1333  
    3333#include <unistd.h> 
    3434 
    35  
     35#include "../../../config.h" 
    3636#include "emu/emu.h" 
    3737#include "emu/emu_memory.h" 
  • libemu/trunk/src/environment/win32/emu_env_w32_dll_export_ws2_32_hooks.c

    r1330 r1333  
    4040#include <unistd.h> 
    4141 
    42  
     42#include "../../../config.h" 
    4343#include "emu/emu.h" 
    4444#include "emu/emu_memory.h" 
     
    8181        printf("accept(s=%i, addr=%x, addrlen=%i);\n", s, addr, addrlen); 
    8282 
     83        int a = 67; 
     84 
     85#ifdef HAVE_INTERACTIVE_HOOKS 
    8386        struct sockaddr sa; 
    8487        socklen_t sasize = sizeof(struct sockaddr); 
    85         int a = accept(s, &sa, &sasize); 
     88        a=accept(s, &sa, &sasize); 
     89#endif 
     90 
    8691        printf("accept %i \n", a);       
    8792        emu_cpu_reg32_set(c, eax, a); 
     
    128133                   ntohs(((struct sockaddr_in *)&sa)->sin_port)); 
    129134        } 
    130         int retval = bind(s, &sa, sizeof(struct sockaddr)); 
     135 
     136        int retval = 0; 
     137 
     138#ifdef HAVE_INTERACTIVE_HOOKS 
     139        retval = bind(s, &sa, sizeof(struct sockaddr)); 
     140#endif  
     141 
    131142        emu_cpu_reg32_set(c, eax, retval); 
    132143 
     
    154165        POP_DWORD(c, &s); 
    155166 
     167#ifdef HAVE_INTERACTIVE_HOOKS 
    156168        close((int)s); 
     169#endif  
    157170 
    158171        emu_cpu_reg32_set(c, eax, 0); 
     
    196209                   ntohs(((struct sockaddr_in *)&sa)->sin_port)); 
    197210 
     211 
     212        int retval = 0; 
     213 
     214#ifdef HAVE_INTERACTIVE_HOOKS 
    198215        struct sockaddr_in si; 
    199216        si.sin_port = htons(4444); 
    200217        si.sin_family = AF_INET; 
    201218        si.sin_addr.s_addr = inet_addr("127.0.0.1"); 
    202  
    203         int retval = connect(s, (struct sockaddr *)&si, sizeof(struct sockaddr_in)); 
     219        connect(s, (struct sockaddr *)&si, sizeof(struct sockaddr_in)); 
     220#endif 
     221 
    204222        emu_cpu_reg32_set(c, eax, retval); 
    205223 
     
    233251        printf("listen(s=%i,  backlog=%i)\n", s,  backlog); 
    234252 
    235         int retval = listen(s, backlog); 
     253        int retval = 0; 
     254 
     255#ifdef HAVE_INTERACTIVE_HOOKS 
     256        retval = listen(s, backlog); 
     257#endif 
     258 
    236259        emu_cpu_reg32_set(c, eax, retval); 
    237260 
     
    272295        uint32_t xlen = len; 
    273296        char *buffer = (char *)malloc(len); 
     297        memset(buffer, 0, len); 
     298 
     299#ifdef HAVE_INTERACTIVE_HOOKS 
    274300        len = recv(s, buffer, len, flags);  
     301#endif 
     302         
    275303        printf("recv(%i, 0x%08x, %i) == %i \n", s, buf, xlen, (int32_t)len); 
    276304        if ((int32_t)len > 0) 
     
    319347        printf("send(%i, 0x%08x, %i,  %i)\n", s, buf, len, flags); 
    320348        emu_memory_read_block(emu_memory_get(env->emu), buf, buffer, len); 
    321         int retval = send(s, buffer, len, flags); 
     349 
     350        int retval = len; 
     351 
     352#ifdef HAVE_INTERACTIVE_HOOKS 
     353        len = send(s, buffer, len, flags); 
    322354        printf("send %i (of %i) bytes\n", retval,  len); 
     355#endif 
     356 
    323357        emu_cpu_reg32_set(c, eax, retval); 
    324358        free(buffer); 
     
    409443        POP_DWORD(c, &protocol); 
    410444 
    411         int s = socket(af, type, protocol); 
     445        int s = 111; 
     446 
     447#ifdef HAVE_INTERACTIVE_HOOKS 
     448        s=socket(af, type, protocol); 
     449#endif 
     450 
    412451        printf("socket %i \n", s); 
    413452        emu_cpu_reg32_set(c, eax, s); 
     
    458497        printf("SOCKET WSASocket(af=%i, type=%i, protocol=%i, lpProtocolInfo=%x, group=%i, dwFlags=%i);\n", 
    459498                   af, type, protocol, protocolinfo, group,  flags); 
    460         int s = socket(af, type, protocol); 
     499 
     500        int s = 113; 
     501 
     502#ifdef HAVE_INTERACTIVE_HOOKS 
     503        s=socket(af, type, protocol); 
     504#endif 
     505 
    461506        printf("socket %i \n", s); 
    462507        emu_cpu_reg32_set(c, eax, s);