49,8 → 49,14 |
res = readPARM(pparm,&gdata->parm,reason,1 /*Windows format resource*/); |
}else if( readobfusc && (resinfo = FindResource(hm,MAKEINTRESOURCE(OBFUSCDATA_ID),RT_RCDATA)) ){ |
if( (h = LoadResource(hm,resinfo)) && (pparm = LockResource(h)) ){ |
obfusc(pparm,SizeofResource(hm,resinfo)); |
res = readPARM(pparm,&gdata->parm,reason,1); |
// Fix by DM, 18 Dec 2018: |
// We need to copy the information, because the resource data is read-only |
DWORD resSize = SizeofResource(hm,resinfo); |
byte* copy = malloc(resSize); |
memcpy(copy, pparm, resSize); |
obfusc(copy, resSize); |
res = readPARM(copy,&gdata->parm,reason,1); |
free(copy); |
} |
} |
return res; |