On Fri, 2009-12-11 at 18:12 +0100, Danny Backx wrote:
> On Fri, 2009-12-11 at 17:48 +0100, Danny Backx wrote:
> > One of my ideas is that the mere number of sections of some type (CODE,
> > LOAD, DATA ?) might be a differentiator. This is in line with your
> > original assessment that .edata and .idata have to be absorbed
> > into .data or so.
>
> A couple of additional tests I just did show that with less sections,
> the DLLs can be loaded with LoadLibrary, but the export mechanism
> doesn't work.
>
> Original output of testapi :
> Started processing DLL(lib1.dll)
> lib1.dll doesn't know about open
> lib1.dll implements XmlPrologStateInitExternalEntity
> (0x01821760)
> LoadLibrary(lib2.dll) : cannot load DLL -> error 193
>
> Output of my latest test :
> Started processing DLL(lib1.dll)
> lib1.dll doesn't know about open
> lib1.dll doesn't know about XmlPrologStateInitExternalEntity
> Started processing DLL(lib2.dll)
> lib2.dll doesn't know about open
> lib2.dll doesn't know about XmlPrologStateInitExternalEntity
This is because the export and import tables were there but the pointers
to them were NULL :
The Data Directory
Entry 0 00000000 00000000 Export Directory [.edata (or where ever we
found it)]
Entry 1 00000000 00000000 Import Directory [parts of .idata]
I'm adding code to peXXigen.c to fix that.
Danny
--
Danny Backx ; danny.backx - at - scarlet.be ; http://danny.backx.info
------------------------------------------------------------------------------
Return on Information:
Google Enterprise Search pays you back
Get the facts.
http://p.sf.net/sfu/google-dev2dev
_______________________________________________
Cegcc-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/cegcc-devel