subsitution of msvcrtd.dll by msvcrt.dll by patching the application, how to

Hi,

I have ‘inherited’ the xxx.dll library for an in house developed product. Unfortunately the library has a dependency msvcrtd.dll. As I do not want to ship the msvcrtd.dll with this product and as for some technical reasons I cannot easily rebuild the xxx.dll, I wondered whether it would be easy to substitute the msvcrtd.dll by the msvcrt.dll

I checked with the dependency walker for entries used by xxx.dll that are not available in the normal msvcrt.dll. I found only two such entries: _malloc_dbg and _free_dbg. I would guess that these entries could possibly be substitutable by the maloc and free entries

Has anybody done such a thing before

Are there patching tools for making this type of modifications to the existing xxx.dll

I use this opportunity to express my regrets that the normal and the debug versions are not made fully interchangeable; I think that this must have been possible, without any performance loss. Maybe this is/will be possible for future releases (a suggestion to the msvs developers).

Thanks

Michel Jonker



Answer this question

subsitution of msvcrtd.dll by msvcrt.dll by patching the application, how to

  • Scott47

    Use can use Dumpbin /imports on the DLL to see which msvcrtd.dll exports it needs. Not quite sure if it will work but you could copy msvcrt.dll into the same folder as your .exe and rename it to msvcrtd.dll


  • Wernerj

    If a DLL is linked to the MSVCRTD.DLL it is a debug build. It is not save to substitue the entries for this DLL.

    Just build a non Debug-build.



  • subsitution of msvcrtd.dll by msvcrt.dll by patching the application, how to