--- Daodan/src/Daodan_Patch.c 2009/03/17 09:06:00 272 +++ Daodan/src/Daodan_Patch.c 2009/06/09 12:00:41 346 @@ -1,5 +1,6 @@ #include "Daodan_Patch.h" #include +#include bool DDrPatch_MakeJump(void* from, void* to) { @@ -84,5 +85,19 @@ bool DDrPatch_Int16(short* dest, short v return true; } else + return false; +} + +bool DDrPatch_StrDup(int* dest, const char* value) +{ + DWORD oldp; + + if (VirtualProtect(dest, 4, PAGE_EXECUTE_READWRITE, &oldp)) + { + *dest = (int)strdup(value); + VirtualProtect(dest, 4, oldp, &oldp); + return true; + } + else return false; }