Compiler Settings
These are the exposed settings of our compiler, allowing you to choose which instruction set extensions to support and how we determine register volatility. For most users, adjusting these configurations won't be necessary.
No Unsafe Assumptions
Enable this setting in an obfuscation profile if any functions within the profile call setjmp. You should also activate it when obfuscating hand-written shellcode. If you encounter crashes or instability, enabling this option may help resolve the issue.
Be aware that enabling this setting may reduce the framework's ability to produce strong obfuscation, potentially exposing functions to more attack vectors. Use it only when absolutely necessary.
Note: You do not need to enable this for functions that use SEH, those functions are fully supported without any special configurations out of the box!
Instruction Set Extensions
The framework currently supports generating bmi1, bmi2, and default x86-ISA instructions, with additional instruction set extensions, such as SSE and X87, planned for future releases.
Enabling bmi1 or bmi2 restricts your program to running only on processors that support these instruction sets. While most modern processors include this support, a significant number of older CPUs do not.
For more information, please refer to this resource: x86 Bit Manipulation Instruction Set