Some languages will work, others will not. The analysis of the binary code will make use of knowledge of a particular compiler. When a compiler generates code patterns which look unrecognizable to the protection tool, it is possible that the code cannot be analyzed. It is easy to implement the necessary heuristics for unusual compilers, but you must ask White Hawk to do that. There are other limits however: Once code is protected, not even White Hawk Software will be able to analyze such code and run a second protection. Furthermore, assembly language programs tend to use concepts which are difficult to analyze, e.g. self-modifying code and jump targets without labels will thwart automatic analysis. That is not as surprising as one would think: There must have been a reason to actually use assembly code in the first place.