Rev 272 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 272 | Rev 276 | ||
---|---|---|---|
Line 12... | Line 12... | ||
12 | 12 | ||
13 | ## Implementation |
13 | ## Implementation |
14 | 14 | ||
15 | Defined in **ff.h**, implemented in **make.c**: |
15 | Defined in **ff.h**, implemented in **make.c**: |
16 | 16 | ||
17 | void obfusc(PARM_T* pparm); |
17 | void obfusc(PARM_T* pparm, unsigned int seed); |
18 | void deobfusc(PARM_T* pparm); |
18 | void deobfusc(PARM_T* pparm); |
19 | 19 | ||
- | 20 | ### Obfuscation "Version 4" |
|
- | 21 | ||
- | 22 | Introduced in **Filter Foundry 1.7.0.7** [08-Aug-2021] |
|
- | 23 | ||
- | 24 | It is not compiler-dependant, but different between every standalone filter. |
|
- | 25 | ||
- | 26 | The binary code of the 8BF file will be manipulated during building |
|
- | 27 | in order to store the seed into the `deobfusc()` function. |
|
- | 28 | This allows that 32 bit and 64 bit filters are "cross built". |
|
- | 29 | ||
- | 30 | Algorithm: XOR shift like in version 2, but the seed is individual for |
|
- | 31 | each individual built standalone filter. |
|
- | 32 | ||
- | 33 | The value "4" will be stored at position 0x30 (this field is not used in the `PARM` resource). |
|
- | 34 | ||
20 | ### Obfuscation "Version 3" |
35 | ### Obfuscation "Version 3" |
21 | 36 | ||
22 | Introduced in **Filter Foundry 1.7.0.5** [30-Jul-2021] |
37 | Introduced in **Filter Foundry 1.7.0.5** [30-Jul-2021] |
23 | 38 | ||
24 | It is compiler-dependant, therefore the resource cannot be exchanged between plugins! |
39 | It is compiler-dependant, therefore the resource cannot be exchanged between plugins! |