Subversion Repositories filter_foundry

Compare Revisions

No changes between revisions

Regard whitespace Rev 350 → Rev 351

/trunk/obfusc.c
24,6 → 24,7
#include "ff.h"
 
// this value will be manipulated during the building of each individual filter (see make_win.c)
// It should be aligned to 4
const volatile uint64_t cObfuscSeed = 0x38AD972A52830517ull;
 
int rand_msvcc(unsigned int* seed) {
72,12 → 73,12
uint32_t obfusc_info = pparm->unknown2;
 
if (obfusc_info == 0x00000000) { // 00 00 00 00
// Photoshop FilterFactory default initialization
// Photoshop FilterFactory default initialization of field "unknown2"
// (no obfuscation)
return 0;
}
else if (obfusc_info == 0x00000001) { // 01 00 00 00
// Premiere FilterFactory default initialization
// Premiere FilterFactory default initialization of field "unknown1" (it is at the offset of Photoshop's "unknown2")
// (no obfuscation)
return 0;
}
92,6 → 93,7
else if ((obfusc_info >= 4) && (obfusc_info <= 0xFF)) { // xx 00 00 00
// Version 4 obfuscation (Filter Foundry 1.7.0.7)
// Version 5 obfuscation (Filter Foundry 1.7.0.8)
// Version 6 obfuscation (Filter Foundry 1.7.0.10)
// Future: Version 6, 7, 8, ... 255
return obfusc_info;
}
327,10 → 329,14
srand(seed);
 
p = (unsigned char*)pparm;
for (i = 0; i < seed_position; i++) *p++ ^= (int)(rand() * 1.0 / ((double)RAND_MAX + 1) * 256);
for (i = 0; i < seed_position; i++) {
*p++ ^= (int)(rand() * 1.0 / ((double)RAND_MAX + 1) * 256);
}
*((uint32_t*)p) = 0; // here was the seed. Fill it with 0x00000000
p += 4;
for (i = 0; i < size - seed_position - 4; i++) *p++ ^= (int)(rand() * 1.0 / ((double)RAND_MAX + 1) * 256);
for (i = 0; i < size - seed_position - 4; i++) {
*p++ ^= (int)(rand() * 1.0 / ((double)RAND_MAX + 1) * 256);
}
 
break;
}
417,7 → 423,7
}
 
if ((pparm->cbSize != PARM_SIZE) &&
//(pparm->cbSize != PARM_SIZE_PREMIERE) &&
(pparm->cbSize != PARM_SIZE_PREMIERE) &&
(pparm->cbSize != PARM_SIG_MAC)) {
memset(pparm, 0, sizeof(PARM_T)); // invalidate everything
}
439,4 → 445,9
// information was lost due to obfuscation. Make sure it is zero.
pparm->unknown2 = 0;
}
 
if (obfusc_version >= 6) {
// information was lost due to checksum. Make sure it is zero.
pparm->unknown1 = 0;
}
}
/trunk/testcases/import/README.md
32,6 → 32,7
| Import FF Prot+Obfsc "V3" 1.7 for Windows x86 | .8bf | n/a | foundry17_32_op3.8bf | Watcom | Locked OK |
| Import FF Prot+Obfsc "V4" 1.7 for Windows x86 | .8bf | n/a | foundry17_32_op4.8bf | Watcom | Locked OK |
| Import FF Prot+Obfsc "V5" 1.7 for Windows x86 | .8bf | n/a | foundry17_32_op5.8bf | Watcom | Locked OK |
| Import FF Prot+Obfsc "V6" 1.7 for Windows x86 | .8bf | n/a | foundry17_32_op6.8bf | Watcom | Locked OK |
| Import FilterFoundry 1.7 for Windows x64 | .8bf | 0x2086 | foundry17_64.8bf | MSVC++ | Works |
| Import FF Obfuscated "V2" 1.7 for Windows x64 | .8bf | n/a | foundry17_64_o.8bf | MSVC++ | Works |
| Import FF Protected 1.7 for Windows x64 | .8bf | 0x2086 | foundry17_64_p.8bf | MSVC++ | Locked OK |
39,3 → 40,4
| Import FF Prot+Obfsc "V3" 1.7 for Windows x64 | .8bf | n/a | foundry17_64_op3.8bf | MSVC++ | Locked OK |
| Import FF Prot+Obfsc "V4" 1.7 for Windows x64 | .8bf | n/a | foundry17_64_op4.8bf | MSVC++ | Locked OK |
| Import FF Prot+Obfsc "V5" 1.7 for Windows x64 | .8bf | n/a | foundry17_64_op5.8bf | MSVC++ | Locked OK |
| Import FF Prot+Obfsc "V6" 1.7 for Windows x64 | .8bf | n/a | foundry17_64_op6.8bf | MSVC++ | Locked OK |
/trunk/testcases/import/foundry17_32_op6.8bf
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/trunk/testcases/import/foundry17_64_op6.8bf
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property