Subversion Repositories filter_foundry

Compare Revisions

Regard whitespace Rev 255 → Rev 256

/trunk/load_win.c
45,8 → 45,10
 
// load first PARM resource
if( (resinfo = FindResource(hm,MAKEINTRESOURCE(parm_id),"PARM")) ){
if( (h = LoadResource(hm,resinfo)) && (pparm = (Ptr)LockResource(h)) )
if ((h = LoadResource(hm, resinfo)) && (pparm = (Ptr)LockResource(h))) {
res = readPARM(pparm,&gdata->parm,reason,1 /*Windows format resource*/);
gdata->obfusc = false;
}
}else if( readobfusc && (resinfo = FindResource(hm,MAKEINTRESOURCE(OBFUSCDATA_ID),RT_RCDATA)) ){
if( (h = LoadResource(hm,resinfo)) && (pparm = (Ptr)LockResource(h)) ){
// Fix by DM, 18 Dec 2018:
57,9 → 59,13
memcpy(copy, pparm, resSize);
deobfusc((unsigned char*)copy, resSize,OBFUSC_SEED_POS);
res = readPARM(copy,&gdata->parm,reason,1);
gdata->obfusc = true;
free(copy);
}
}
if (!res) {
gdata->obfusc = false;
}
return res;
}
 
69,6 → 75,7
 
// First, try to read the file as AFS/PFF/TXT file
if( (readok = readfile(sfr,reason)) ){
gdata->obfusc = false;
gdata->parmloaded = false;
}
 
77,7 → 84,10
char name[MAX_PATH+1];
if (hm = LoadLibraryEx(myp2cstrcpy(name,sfr->sfFile.name),NULL,LOAD_LIBRARY_AS_DATAFILE)) {
if (readPARMresource(hm,reason,READ_OBFUSC)) {
if (gdata->parm.iProtected) {
if ((gdata->parm.cbSize != PARM_SIZE) && (gdata->parm.cbSize != PARM_SIZE_PREMIERE) && (gdata->parm.cbSize != PARM_SIG_MAC)) {
*reason = _strdup("Incompatible obfuscation.");
return false; // Stop! We know the issue now.
} else if (gdata->parm.iProtected) {
*reason = _strdup("The filter is protected.");
return false; // Stop! We know the issue now.
} else {