Well, after much delay in actually doing this, I decided I had to place the CRC32 asm code I was patching into a program, into a library, as certain OS's with DEP were "occasionally" complaining about me patching (It would work on XP machines that had no hardware DEP, but seems to work fine on Vista with hardware DEP).  So, I figured I'd make a DLL.  Well, I've never made one.  The code DOES work, but for some odd reason, the functionality of how the arguments are passed and possibly how the result is returned are not compatible with C, Visual Basic, etc.  In fact, I have tried the library with OlyDebug via the original software using it, it crashes right at the read of the first function, which is supposed to have the unicode string passed to ESI, but, ESI was 0.  Yet I could clearly see EBX having the address to the string (and OlyDebug even showed me it).

If anyone can help me get the proper argument changes to make it work with things like C and Visual Basic, I'd appreciate it, plus then the code could be available to anyone who wants to use it (once I write docs for it).

Posted on 2008-10-14 12:05:08 by FunkyMeister