FAQs
Frequently Asked Questions
We answer more technical questions here which we are asked often.
Does CodeDefender keep my binary?
We only cache your uploaded PE for the duration of the obfuscation. That is why every time you upload the PE it has to go through the process of re-analyzing. We dont want the liability of storing your PE files, nor do we have any reason to keep them.
Do we support Wine/Proton?
Yes, our commitment to supporting Wine and Proton is unwavering. While it's important to note that not every technique we employ may fully support these platforms, our core methods are designed with compatibility in mind and prioritize seamless functionality with Wine and Proton.
Do we support Arm?
Not yet. The current market demand heavily favors PE files with X86 instructions as the dominant force. However, we recognize the rising popularity of Arm architecture in desktop computing and have plans to support it.
Do we support Linux or macOS?
Not yet. At present, our focus is on Windows executable file format. However, we are committed to maintaining compatibility with Wine and Proton. Support for ELF and Mach-O file formats is also on our roadmap for the future.
Do we support UEFI?
Yes. Our support extends to UEFI modules that contain X86 code, ensuring compatibility and functionality across these platforms.
Do we support Rust programs?
Yes, we support any compiled, 64bit PE executable
Do we support .NET (even with OAT)?
No, we have no support for .NET including the OAT functionality.
Do we support kernel drivers?
Yes CodeDefender supports kernel drivers, uefi modules, dlls, and executables.
Do we support ACG?
Yes CodeDefender supports ACG, however some functionalities such as import protection may not support ACG. However the core protection features such as the mutation engine and constant obfuscation do not break ACG.
Do we support CET?
Yes CodeDefender has full support for CET.
Do we support SEH?
Yes we have gone to incredible lengths to support SEH, including C++ exceptions (both 3 and 4). Its important to note that we support both SEH and CET at the same time. You do not need to compromise one for the other. There is absolutely no configuration required to obfuscate functions that use SEH, no need to write code markers, no need to edit source code. We fully support it by default.
Do we support SSE? AVX? BMI? X87 FPU?
Yes we support all instructions and seamlessly include ones we dont lift directly into the obfuscated code. We do not "box" instructions like other providers do which can impact microarchitectural optimizations.
How stable is CodeDefender?
We are able to obfuscate 97% of chrome functions and we use this chrome to do zoom calls with investors and potential customers. We believe in our stability.
Do we support 32bit?
No we do not support 32bit PE files.
Does CodeDefender require a PDB?
No, CodeDefender doesnt require one, however it will make it easier for you to select the functions you want to obfuscate.
Do CodeDefender protected binaries run under a cpu emulator?
icicle-emu will not correctly emulate binaries protected with CodeDefender. We have not fully tested unicorn-engine (qemu) ability to emulate our binaries yet.