* hookapi.cc: Add comment header
(putmem): Make static. (get_export): Ditto. (rvadelta): Ditto. Don't assume that a section which ends where the import_rva begins is the import list. * child_info.h: Update copyright. * fork.cc: Ditto.
This commit is contained in:
parent
26d31dc917
commit
b4054e7706
|
@ -1,3 +1,14 @@
|
||||||
|
2006-07-06 Christopher Faylor <cgf@timesys.com>
|
||||||
|
|
||||||
|
* hookapi.cc: Add comment header
|
||||||
|
(putmem): Make static.
|
||||||
|
(get_export): Ditto.
|
||||||
|
(rvadelta): Ditto. Don't assume that a section which ends where the
|
||||||
|
import_rva begins is the import list.
|
||||||
|
|
||||||
|
* child_info.h: Update copyright.
|
||||||
|
* fork.cc: Ditto.
|
||||||
|
|
||||||
2006-07-05 Christopher Faylor <cgf@timesys.com>
|
2006-07-05 Christopher Faylor <cgf@timesys.com>
|
||||||
|
|
||||||
* sortdin: Ignore all leading underscores when deriving a sort key.
|
* sortdin: Ignore all leading underscores when deriving a sort key.
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/* child_info.h: shared child info for cygwin
|
/* child_info.h: shared child info for cygwin
|
||||||
|
|
||||||
Copyright 2000, 2001, 2002, 2003, 2004, 2005 Red Hat, Inc.
|
Copyright 2000, 2001, 2002, 2003, 2004, 2005, 2006 Red Hat, Inc.
|
||||||
|
|
||||||
This file is part of Cygwin.
|
This file is part of Cygwin.
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/* fork.cc
|
/* fork.cc
|
||||||
|
|
||||||
Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2004, 2005
|
Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2004, 2005, 2006
|
||||||
Red Hat, Inc.
|
Red Hat, Inc.
|
||||||
|
|
||||||
This file is part of Cygwin.
|
This file is part of Cygwin.
|
||||||
|
|
|
@ -1,3 +1,13 @@
|
||||||
|
/* hookapi.cc
|
||||||
|
|
||||||
|
Copyright 2005, 2006 Red Hat, Inc.
|
||||||
|
|
||||||
|
This file is part of Cygwin.
|
||||||
|
|
||||||
|
This software is a copyrighted work licensed under the terms of the
|
||||||
|
Cygwin license. Please consult the file "CYGWIN_LICENSE" for
|
||||||
|
details. */
|
||||||
|
|
||||||
#include "winsup.h"
|
#include "winsup.h"
|
||||||
#include "cygerrno.h"
|
#include "cygerrno.h"
|
||||||
#include "security.h"
|
#include "security.h"
|
||||||
|
@ -38,19 +48,19 @@ PEHeaderFromHModule (HMODULE hModule)
|
||||||
return pNTHeader;
|
return pNTHeader;
|
||||||
}
|
}
|
||||||
|
|
||||||
long
|
static long
|
||||||
rvadelta (PIMAGE_NT_HEADERS pnt, DWORD import_rva)
|
rvadelta (PIMAGE_NT_HEADERS pnt, DWORD import_rva)
|
||||||
{
|
{
|
||||||
PIMAGE_SECTION_HEADER section = (PIMAGE_SECTION_HEADER) (pnt + 1);
|
PIMAGE_SECTION_HEADER section = (PIMAGE_SECTION_HEADER) (pnt + 1);
|
||||||
for (int i = 0; i < pnt->FileHeader.NumberOfSections; i++)
|
for (int i = 0; i < pnt->FileHeader.NumberOfSections; i++)
|
||||||
if (section[i].VirtualAddress <= import_rva
|
if (section[i].VirtualAddress <= import_rva
|
||||||
&& (section[i].VirtualAddress + section[i].Misc.VirtualSize) >= import_rva)
|
&& (section[i].VirtualAddress + section[i].Misc.VirtualSize) > import_rva)
|
||||||
// if (strncasematch ((char *) section[i].Name, ".idata", IMAGE_SIZEOF_SHORT_NAME))
|
// if (strncasematch ((char *) section[i].Name, ".idata", IMAGE_SIZEOF_SHORT_NAME))
|
||||||
return section[i].VirtualAddress - section[i].PointerToRawData;
|
return section[i].VirtualAddress - section[i].PointerToRawData;
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
void *
|
static void *
|
||||||
putmem (PIMAGE_THUNK_DATA pi, const void *hookfn)
|
putmem (PIMAGE_THUNK_DATA pi, const void *hookfn)
|
||||||
{
|
{
|
||||||
DWORD ofl;
|
DWORD ofl;
|
||||||
|
@ -108,7 +118,7 @@ RedirectIAT (function_hook& fh, PIMAGE_IMPORT_DESCRIPTOR pImportDesc,
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
static void
|
||||||
get_export (function_hook& fh)
|
get_export (function_hook& fh)
|
||||||
{
|
{
|
||||||
PIMAGE_DOS_HEADER pdh = (PIMAGE_DOS_HEADER) cygwin_hmodule;
|
PIMAGE_DOS_HEADER pdh = (PIMAGE_DOS_HEADER) cygwin_hmodule;
|
||||||
|
|
Loading…
Reference in New Issue