Changes between Initial Version and Version 2 of Ticket #62


Ignore:
Timestamp:
09/21/2009 12:33:09 PM (15 years ago)
Author:
Sam Hocevar
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • Ticket #62 – Description

    initial v2  
    55
    66The bases for DLL injection are already here:
    7  * libzzuf's [/browser/zzuf/trunk/src/libzzuf.c libzzuf.c] contains a `DllMain` entry that calls `_zz_init` upon load.
    87 * libzzuf's [/browser/zzuf/trunk/src/sys.c sys.c] contains the following:
    98   * A `LoadLibraryA_orig` pointer that should be filled with the address of the real `LoadLibraryA` function
     
    1110   * An `insert_func` function that replaces a given function address in the current process' address space
    1211   * Code in `_zz_sys_init` that calls `insert_func` for each function we want to overwrite (currently only LoadLibraryA is affected; in the future, this will iterate over a global array)
     12 * libzzuf's [/browser/zzuf/trunk/src/libzzuf.c libzzuf.c] contains a `DllMain` entry that calls `_zz_init` upon load, which in turn causes `_zz_sys_init` to be called.
    1313 * zzuf's [/browser/zzuf/trunk/src/zzuf.c zzuf.c] contains the following:
    1414   * A `dll_inject` function that writes bytecode into the subprocess' address space which basically does `LoadLibraryA("libzzuf.dll")`